我更喜欢你使用Spring框架的SessionLocaleResolver。它会更改和存储会话中的语言环境,因此您可以在应用程序的任何代码点获取该语言环境。
请参考下面提到的配置。为了更好的理解,也请阅读Spring文档。
<mvc:interceptors>
<ref bean="localeChangeInterceptor"/>
</mvc:interceptors>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang"/>
</bean>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="en"/>
</bean>
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>/WEB-INF/i18n/labels</value>
<value>/WEB-INF/i18n/messages</value>
</list>
</property>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
希望这可以帮助你。干杯。
谢谢你的快速回答pap。这里的问题是系统日期不是从明确的“请求”中检索的,它应该在用户在浏览器中点击Web应用程序的URL时在索引页面上显示。我知道我们可以根据任何url模式创建一个控制器,但是我们可以从“/”请求中获得显式的HttpServletRequest实例吗?谢谢。 – Dreamer