我搜索了这个网站(和其他网站),但一直无法找到解决方案。 或者,我发现的解决方案与我的工作方式类似。
无论如何,在用户登录后,我将根据他们的个人资料首选项更新他们的区域设置。在这种情况下,我需要将用户更新为'fr_FR'French。有趣的是,用户登录第一页后是英文,但如果你导航页面改为法文,如果你回去,原来的页面现在是法文。
当用户登录时,他们会通过HomeController来设置/更新SessionLocaleResolver到应该是法语,但是下一页没有反映这个!!。
final LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request);
if (localeResolver != null) {
// get the new locale name from the request param, if possible
final String newLocaleName = userProfile.getDefaultLocaleId();
if (newLocaleName != null) {
final LocaleEditor localeEditor = new LocaleEditor();
localeEditor.setAsText(newLocaleName);
// set the new locale
localeResolver.setLocale(request, response,
(Locale) localeEditor.getValue());
}
}
配置 类= “org.springframework.web.servlet.i18n.LocaleChangeInterceptor” >
<bean id="messageSource" class="
com.ecommerce.web.util.MyResourceBundleMessageSource" >
<property name="basenames" >
<util:list>
<value>resourcebundles.mybundles-ui</value>
</util:list>
</property>
</bean>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver" >
<property name="defaultLocale" value="en" />
</bean>
这是一个类似于我的问题,但除非我错误地阅读,否则我认为我正在做正确的事。
我不确定我在这里缺少什么......