mad*_*ulf 3 java configuration spring-mvc internationalization
在使用spring-MVC编写的Web应用程序中,我希望允许用户通过单击文本是该语言名称的链接来更改当前语言.
我已经设置了一个messageSource,并使我的所有jsp页面都使用这个messageSource查找消息.目前,语言正在根据用户浏览器的区域设置而变化.
所以,我现在要做的是允许手动更改语言环境.
我发现SessionLocaleResolver类可以提供帮助,但我不知道如何在我的应用程序上下文文件中设置它(名称是myAppName-servlet.xml).
我已经定义了bean:
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
</bean>
Run Code Online (Sandbox Code Playgroud)
但是我应该在哪个bean中插入这个?此外,如何将与区域设置相关的cookie设置为用户会话?
我需要的所有信息都在文档中,在我面前,在:
http://static.springframework.org/spring/docs/2.5.x/reference/mvc.html#mvc-localeresolver
简而言之,我将以下xml改编为myAppName-servlet.xml
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="siteLanguage"/>
</bean>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor"/>
</list>
</property>
<property name="mappings">
<value>/**/*.view=someController</value>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
现在,只需使用参数访问任何页面即可:
siteLanguage=locale
Run Code Online (Sandbox Code Playgroud)
更改整个站点的区域设置.
例如:http:// localhost:8080/SBrowser/deliveries.html?siteLanguage = frenter code here
| 归档时间: |
|
| 查看次数: |
10341 次 |
| 最近记录: |