SCo*_*der 6 java spring locale spring-mvc internationalization
我试图通过spring实现国际化.以下是我所做的配置
`<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames" value="messages">
</property>
</bean>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />`
Run Code Online (Sandbox Code Playgroud)
现在我有三个属性文件 - message_en.properties,message_fr.properties,message_sp.properties.并使用JSTL标记在我的jsp中使用它.我的问题是如何传递区域设置值以便它可以选择正确的属性文件?一种方法是传入请求URL,但我的应用程序太大,无法在每个URL中包含此请求参数.有没有其他方法可以设置区域设置值?我有一个存储在DB中的语言环境值,我必须从中获取和设置.如何用最好的方法实现这一目标?
能够使用下面的方式更改区域设置
RequestContextUtils.getLocaleResolver(request).setLocale(request, response, Locale.FRANCE);
但是这需要编写一个过滤器来执行每个请求并在DB中触发查询以获取值.有没有更好的建议呢?
我猜你现在可能已经找到了解决方案,但是对于未来偶然发现这个问题的人来说,也许你需要摆脱 LocaleResolver ?
\n\n根据Mkyong 的说法:
\n\n\n\n\n如果您没有注册任何 \xe2\x80\x9clocaleResolver\xe2\x80\x9d,则将使用默认的 AcceptHeaderLocaleResolver,它通过检查 HTTP 请求中的接受语言标头来解析区域设置。
\n
允许用户的浏览器自动说出它喜欢哪种语言很有意义,并且通过更改您的首选语言(可能还有其他浏览器)可以轻松地在 Chrome 中进行测试。
\n\n(顺便说一句,Mkyong 的教程非常方便,值得一试)
\n| 归档时间: |
|
| 查看次数: |
8174 次 |
| 最近记录: |