Spring 国际化支持
Spring的国际化配置有三种描述方式:
第一种:AcceptHeaderLocaleResolver
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver"></bean>
第二种:Session
Session的配置如下:
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
在你的处理的Controller中,将提交上来的locale字段信息生成真正的Locale对象,
然后将对象保存在Session中,默认保存的ID是SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME
这样,当Session不过期,那么语言种类始终保持正确。可以修改session中的值来进行修改语言种类。
第三种:基于Cookie的国际化配置
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>
以上三种方式都可以解决国际化的问题,对应的拦截方式:
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
Spring的国际化配置有三种描述方式:
第一种:AcceptHeaderLocaleResolver
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver"></bean>
默认的参数名为locale主意大小写。里面放的就是你的提交参数。
如:en_US,zh_CN之类的,这个时候,你在页面上加一句<a href="?locale=zh_CN">简体中文</a>
第二种:Session
Session的配置如下:
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
在你的处理的Controller中,将提交上来的locale字段信息生成真正的Locale对象,
然后将对象保存在Session中,默认保存的ID是SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME
这样,当Session不过期,那么语言种类始终保持正确。可以修改session中的值来进行修改语言种类。
第三种:基于Cookie的国际化配置
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>
以上三种方式都可以解决国际化的问题,对应的拦截方式:
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
在mapping url映射的时候,可以调用这个属性来跳转的时候,进行国际化的拦截。
另外在调用spring的message的标签。在Spring MVC中使用<spring:message code="title"/>这样的标签来显示。