资源包和SessionLocaleResolver

时间:2012-11-16 21:48:50

标签: spring spring-mvc

我搜索了这个网站(和其他网站),但一直无法找到解决方案。 或者,我发现的解决方案与我的工作方式类似。

无论如何,在用户登录后,我将根据他们的个人资料首选项更新他们的区域设置。在这种情况下,我需要将用户更新为'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>

这是一个类似于我的问题,但除非我错误地阅读,否则我认为我正在做正确的事。

http://forum.springsource.org/showthread.php?36339-Multilanguage-in-Session-with-SessionLocaleResolver

我不确定我在这里缺少什么......

0 个答案:

没有答案