我正在尝试通过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.properties、message_fr.properties、message_sp.properties。并在我的带有 JSTL 标记的 jsp 中使用它。我的问题是如何传递语言环境值以便它可以获取正确的属性文件?一种方法是传入请求 url,但我的应用程序太大,无法在每个 url 中包含此请求参数。有没有其他方法可以设置语言环境值?我有存储在数据库中的语言环境值,我必须从中获取和设置。我怎样才能用最好的方法做到这一点?
能够使用以下更改语言环境
RequestContextUtils.getLocaleResolver(request).setLocale(request, response, Locale.FRANCE);
但这将需要编写一个过滤器来对每个请求执行并在 DB 中触发一个查询以获取该值。有没有更好的方法来做到这一点?