我正在开发一个门户产品。我面临着国际化的问题。我正在使用以下代码
Locale locale = new Locale(languageHashMap.get(preferredLanguageId));
ActionContext.getContext().setLocale(locale);
session.setAttribute(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE, locale);用于设置区域设置。
有一次,它运行良好,但当我再次改变语言,再次改变语言,变化并不是反映在所有的页面中。仍然只得到最后一种语言所做的更改。如有任何帮助,将不胜感激。
发布于 2013-12-12 12:21:18
我想现场设置不正确。尝试以下代码:
创建一张地图
private static Map<Locale, ResourceBundle> messageBundles = new Hashtable<Locale, ResourceBundle>();然后使用以下内容:
Locale requestLocale = ActionContext.getContext().getLocale();
ResourceBundle rb = messageBundles.get(requestLocale);然后将该资源包放到请求范围中。
发布于 2014-06-21 06:00:36
它运转良好..。
Locale locale = new Locale(languageHashMap.get(preferredLanguageId)); ActionContext.getContext().setLocale(locale); session.setAttribute(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE, locale);
https://stackoverflow.com/questions/20490598
复制相似问题