我使用 Spring MVC 作为我们的控制器框架,为了实现我们的应用程序国际化,我使用org.springframework.web.servlet.i18n.LocaleChangeInterceptor
来检测语言更改,我希望系统默认如果没有设置特定语言,语言将被设置为用户客户端的语言环境。现在我在设置默认语言环境时遇到了一个陌生人的问题,我来自中国,默认情况下locale是zh_CN,当我们的系统部署在Windows服务器上时,我可以从{{1}获得正确的语言环境(zh_CN
)但是,当我们的系统部署在Ubuntu Linux服务器上时,我始终从HttpServletResponse
获得en_US
区域设置。我对此感到困惑,我们知道HttpServletResponse
语言环境来自Web浏览器等客户端,2个请求来自同一语言环境,但在HttpServletResponse's
中出现了2个不同的语言环境。
谢谢,我想知道是否有任何人曾经发生并最终解决了这个问题。
答案 0 :(得分:0)
您是否也使用了CookieLocaleResolver
?
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="locale" />
</bean>
<mvc:interceptors>
<ref bean="localeChangeInterceptor"/>
</mvc:interceptors>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="defaultLocale">
<bean class="java.util.Locale">
<constructor-arg value="zh" />
<constructor-arg value="CN" />
</bean>
</property>
</bean>
<强>更新强>
您的网页是否已声明?
<meta http-equiv="Content-language" content="zh-CN" />