JavaSpring国际化:如何动态设置语言环境值
我正试图通过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" />`
现在我有三个属性文件-message_en。属性、消息前属性、消息后属性。 并在我的jsp和JSTL标记中使用它。 我的问题是如何传递区域设置值,以便它能够拾取正确的属性文件? 一种方法是传入请求url,但我的应用程序太大,无法在每个url中包含此请求参数。 有没有其他方法可以设置区域设置值?我有存储在DB中的区域设置值,我必须从中获取和设置。 我如何用最好的方法实现这一点
能够使用以下命令更改区域设置
RequestContextUtils.getLocaleResolver(request).setLocale(request, response, Locale.FRANCE);
但这将需要编写一个过滤器来执行每个请求,并在DB中启动一个查询以获取值。 有没有更好的办法
# 1 楼答案
我猜你现在可能已经找到了一个解决方案,但是对于未来在这个问题上遇到困难的人来说,也许你需要摆脱LocaleResolver
根据Mkyong:
允许用户的浏览器自动说出它喜欢哪种语言是很有意义的,而且通过更改您喜欢的语言(可能还有其他浏览器),可以很容易地在Chrome中进行测试
(顺便说一下,Mkyong的教程非常方便,值得一读)