java - Struts国际化

标签 java internationalization struts

我正在开发一种门户产品。我在使其国际化方面面临问题。我是 使用以下代码

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/

相关文章:

java - 如何使用 Gradle 4.4 创建一个包含所有依赖项的 jar?

java - 我想从管理员和用户面板隐藏 Openfire 版本

django - django 中支持零、一、二、少、多、其他的 Android i18n 复数相当于什么?

Eclipse RCP 翻译工具

java - Struts <bean :cookie> tag breaks on WebLogic 11gR1

java - 将数据发送到 viewpager 的特定 fragment

java - 为什么我们在java-9模块系统中需要require static?

ruby-on-rails - 翻译模型的复数形式

javascript - 在新选项卡中打开 anchor 链接。该链接会在新选项卡中附加现有 URL