i.首先需要在spring-mvc-servlet.xml 中配置拦截器;
?
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
?ii.如果是需要在界面上进行切换(session方式);则需要如下配置:
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"> <!-- 必须将区域解析器的Bean名称设置为localeResolver,这样DispatcherServlet才能自动侦测到它。请注意,每DispatcherServlet只能注册一个区域解析器。-->
<property name="defaultLocale" value="zh"/>
</bean>
?iii.如果要浏览器自适应语言方式(cookie方式);则需要如下配置:
<bean id="cookieLocaleResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"> <property name="cookieName" value="clientlanguage"/> <property name="cookieMaxAge" value="94608000"/> <property name="defaultLocale" value="en" /> </bean>
?iv.最后在applicationContext.xml 中配置关于资源文件
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<!-- 国际化信息所在的文件名 -->
<property name="basenames">
<list>
<value>languages/messages</value>
</list>
</property>
<!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 -->
<property name="useCodeAsDefaultMessage" value="true" />
</bean>
?v.在拦截器中配置local (选择配置),代码如下:
<mvc:interceptors>
<!--国际化资源切换(根据请求参数中的locale参数自动切换)-->
<mvc:interceptor>
<mvc:mapping path="/**"/>
<ref bean="localeChangeInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
? ? eg:?http://localhost:8080/xxx/xxx?locale=zh_CN 即可切换为中文
?
?
原文:http://zdc243.iteye.com/blog/2276235