Struts国际化

时间:2013-12-10 09:29:35

标签: java internationalization struts

我正在研究一种门户产品。我在使其国际化方面遇到了问题。我 使用以下代码

Locale locale = new Locale(languageHashMap.get(preferredLanguageId));
ActionContext.getContext().setLocale(locale);
session.setAttribute(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE, locale);

用于设置区域设置。

有一段时间它工作正常但是当我再次更改语言时再次更改语言时,更改并未反映在所有页面中。仍然只能使用最后一种语言进行更改。 任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

我猜该语言环境设置不正确。 试试下面的代码:

创建一个地图

private static Map<Locale, ResourceBundle> messageBundles = new Hashtable<Locale, ResourceBundle>();

然后使用以下内容:

Locale requestLocale = ActionContext.getContext().getLocale();
ResourceBundle rb = messageBundles.get(requestLocale);

然后将该资源包放在请求范围内。

答案 1 :(得分:0)

工作正常......

Locale locale = new Locale(languageHashMap.get(preferredLanguageId)); ActionContext.getContext().setLocale(locale); session.setAttribute(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE, locale);