SpringBoot 国际化切换语言失败,无法切换

问题:SpringBoot 国际化切换语言切换不了
自定义了区域解析器

/**
 * 自定义区域解析器
 */
public class MyLocaleResolver implements LocaleResolver {

    @Override
    public Locale resolveLocale(HttpServletRequest httpServletRequest) {
        String l = httpServletRequest.getParameter("l");//获取请求参数中的区域信息
        Locale locale = Locale.getDefault();//如果没有则用默认的
        if (!StringUtils.isEmpty(l)){//如果有用自己配置的
            String[] split = l.split("_");//拿到语音信息和国家信息
            locale = new Locale(split[0],split[1]);//创建区域信息对象,第一个值语言代码,第二个值国家代码
        }
        return locale;
    }

    @Override
    public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {

    }
}

注册Bean

    @Bean//将区域信息对象注册到容器
    public LocaleResolver localeResolver(){
        return new MyLocaleResolver();
    }

原因就是Bean的方法名必须写localeResolver否则SpringBoot无法识别

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。