SpringMVC国际化设置出现Cannot change HTTP accept header - use a different locale resolution strategy的BUG

在系统的学习SpringMVC过程并进行练习时,出现Cannot change HTTP accept header - use a different locale resolution strategy的BUG。

国际化需要可以满足三个需求

1.在页面上对时间、数值、标签等进行本地化处理

2.需要从bean中获取国际化的资源文件Locale对应的消息

3.可以通过超链接动态的切换Locale

实现方式:

首先先配置资源文件

i18n_zh_CN.properties中文配置文件

i18n.user=\u7528\u6237\u540D
i18n.password=\u5BC6\u7801(此处是将中文转化为ascii码)

i18n_en_US.properties英文配置文件

i18n.user=User
i18n.password=Password

需求1实现

需求2实现

需求3解决需要配置SessionLocalResolver和LocalChangeInterceptor

SessionLocaleResolver是将Locale对象存于Session中供以后获取

我的问题出在SessionLocaleResolver这里,配置这个bean的时候,id必须为localeResolver,否则就会出现我这个BUG

原文地址:https://www.cnblogs.com/AYu9732/p/8371853.html

时间: 2024-08-29 22:46:41

SpringMVC国际化设置出现Cannot change HTTP accept header - use a different locale resolution strategy的BUG的相关文章

SpringMVC国际化设置-Cannot change HTTP accept header - use a different locale resolution strategy

使用SpringMVC3配置国际化,最近遇到了"Cannot change HTTP accept header - use a different locale resolution strategy" 这样的异常提示,最终解决了.现在来说说有关SpringMVC配置国际化的步骤及注意点,最后结合Spring源码解析下原理. 国际化最常需要解决的问题 页面上能够根据浏览器设置的语言来动态展现文本,数值,时间等: 可以在Bean中获取设置的Locale信息: 可以通过动态链接的方式来切

spring和springmvc国际化应用

目的: @1在视图层显示的文字显国际化 @2数据验证后显示国际化 @3通过超链接的参数,让客户自动选择国际化 1:在spring.xml中配置国际化类,让容器管理国际化 2:在页面显示国际化:可以使用spring的标签<st:message code="userName"></st:message> @2数据验证 1: 代码层数据验证:自动装配 MessageSource source java代码层根据不同的区域获取不同语言的错误信息,并将错误信息添加至结果中

Dynamic CRM 2013学习笔记(二十八)用JS动态设置字段的change事件、必填以及可见

我们知道通过界面设置字段的change事件,是否是必填,是否可见非常容易.但有时我们需要动态地根据某些条件来设置,这时有需要通过js来动态地控制了. 下面分别介绍如何用js来动态设置.   一.动态设置字段的change事件 // form on load event function onLoad() { init();   pageAttr.delivery_from.addOnChange(deliveryFromChange); pageAttr.type.addOnChange(typ

基于session 的springMvc 国际化

项目中采用springMvc的框架,需要动态切换语言,找了一些资料,最后决定采用基于session的动态切换,实现动态切换中文,英文,韩文,其实就是把中文翻译成其他语言显示 springMvc国际化包括两个方面,一个是前台页面的国际化,spring有自己的标签可以去实现,非常方便,另一个是后台java代码种涉及中文的国际化. 1.项目总体结构 有关bean的主要配置在spring-mvc.xml里配置,messages文件夹里放的是需要翻译的内容格式如下:key  =  value 的格式 英文

Android国际化设置

Android中的国际化设置好简单啊,还直观. 设置界面上显示的文字的话,在对应的xml文件中,把显示的那些文字替换为资源文件的ID,就可以根据语言环境更新文字显示形式了. 图片中左侧菜单栏里的几个values是对应的语言环境的国际化文件: 中间红框是右侧页面显示的文字的来源,表示来源于string文件的某个id对应的内容

基于SpringMVC国际化资源配置方式

基于SpringMVC国际化资源配置方式. 1.首先需要在spring-mvc-servlet.xml 中配置拦截器: <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" /> 2.如果要浏览器自适应语言方式(cookie方式):还需要在spring-mvn-servlet.xml 中配置: 2.1

学习SpringMVC——国际化+上传+下载

每个星期一道菜,这个星期也不例外~~~ 一个软件,一个产品,都是一点点开发并完善起来的,功能越来越多,性能越来越强,用户体验越来越好……这每个指标的提高都需要切切实实的做点东西出来,好比,你的这个产品做大了,用的人多了,不仅仅再是上海人用,北京人用,还有印度人用,法国人用等等,可以说这个产品已经走上了国际化的大舞台.当印度的哥们输入url访问产品时,界面上弹出“欢迎您,三哥”,估计哥们当场就蒙圈了.而这个时候,国际化就应运而生了. 要做国际化这道菜,真的没有想象中的那么复杂,反而很简单,不信你看

SpringMVC国际化

如何将我们网站的其它内容(如菜单.标题等)做国际化处理呢?这就是本篇要将的内容->国际化. 一.基于浏览器请求的国际化实现: 首先配置我们项目的springservlet-config.xml文件添加的内容如下: <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <!-- 国际化信息所在的文件名 -

springmvc 国际化

spring-mvc.xml配置文件: <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <!-- 国际化信息所在的文件名 ,以messages开头 --> <property name="basename" value="messages" />