我正在开发一种门户产品。我在使其国际化方面面临问题。我是 使用以下代码
Locale locale = new Locale(languageHashMap.get(preferredLanguageId));
ActionContext.getContext().setLocale(locale);
session.setAttribute(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE, locale);
用于设置区域设置。
有一次它工作正常,但是当我再次更改语言时,更改并没有反射(reflect)在所有页面中。仍然仅获取最后一种语言所做的更改。 任何帮助将不胜感激
最佳答案
我猜区域设置没有正确设置。 尝试以下代码:
创建一张 map
private static Map<Locale, ResourceBundle> messageBundles = new Hashtable<Locale, ResourceBundle>();
然后使用以下内容:
Locale requestLocale = ActionContext.getContext().getLocale();
ResourceBundle rb = messageBundles.get(requestLocale);
然后将该资源包放入请求范围中。
关于java - Struts国际化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20490598/