Spring国际化语言切换不生效

使用SessionLocaleResolver一致不生效,获取message时候报错:

java.lang.UnsupportedOperationException: Cannot change HTTP accept header - use a different locale resolution strategy

at org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver.setLocale...

org.springframework.web.servlet.i18n.LocaleChangeInterceptor.preHandle...

最终定位到原因,DispatcherServlet读取到的仍然是AcceptHeaderLocaleResolver,注入了但没有生效,问题代码如下:

java 复制代码
@Bean
@Primary
public LocalResolver sessionLocaleResolver() {
     SessionLocaleResolver slr = new SessionLocaleResolver();
     slr.setDefaultLocale(Locale.ENGLISH);
     slr.setDefaultTimeZone(TimeZone.getTimeZone("UTC"));
     return slr;
}

修改后代码如下:

java 复制代码
@Bean("localeResolver")
   @Primary
   public LocalResolver sessionLocaleResolver() {
        SessionLocaleResolver slr = new SessionLocaleResolver();
        slr.setDefaultLocale(Locale.ENGLISH);
        slr.setDefaultTimeZone(TimeZone.getTimeZone("UTC"));
        return slr;
}
相关推荐
captain3763 小时前
MyBatis(入门5)其他查询操作
java·数据库·spring boot·mybatis
Novproxy_Z4 小时前
商用代理避坑:如何识别商家拿机房 IP 冒充住宅 IP
java·网络·tcp/ip
文丑颜不良啊4 小时前
LeetCode1481~1500题目解析
java·leetcode
2601_962885725 小时前
quotes 字段全解:涨跌幅、振幅、换手率的口径与单位
java·前端·spring
深蓝AI5 小时前
Python 3.13 的 Queue.shutdown:异步消费者终于能正常收工了
后端
前端精髓5 小时前
调用openrouter的免费API模型
java·前端·javascript
武子康5 小时前
MultiNet6 空闲崩溃:`EXCVADDR=0x8` 后又出现 `CORRUPT HEAP`
人工智能·后端·agent
步行cgn5 小时前
Spring MVC 拦截器 Interceptor 详解:从执行流程到实战应用
java·spring·mvc
文丑颜不良啊5 小时前
LeetCode1381~1400题目解析
java·leetcode
开开心心_Every5 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea