Я создал приложение для поддержки двух языков.В случае, если вы не вставили некоторый код, я попытаюсь объяснить мой.
Сначала я создаю класс действия Struts для обработки локалей, есть методы этого класса:
public ActionForward en(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.getSession().setAttribute(
Globals.LOCALE_KEY, Locale.ENGLISH);
return mapping.findForward(SUCCESS);
}
public ActionForward lt(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.getSession().setAttribute(
Globals.LOCALE_KEY, new Locale("lt"));
return mapping.findForward(SUCCESS);
}
Один методдля английского языка и один метод для литовского языка.
Я объявил этот класс действия в своем файле struts-config.xml:
<action input="/views/index.jsp"
parameter="method"
path="/locale"
scope="request"
type="lt.klc.action.LanguageSelectAction"
validate="false">
<forward name="success" path="/views/index.jsp"/>
</action>
Я объявил свои ресурсы: (application.properties и application_lt.properties)
<message-resources parameter="lt/klc/resources/application_lt"/>
<message-resources parameter="lt/klc/resources/application"/>
Когда я хочу изменить язык, я просто вызываю этот класс, предоставляя метод, который хочу вызвать:
<html:link action="locale.xhtml?method=en">English</html:link>
<html:link action="locale.xhtml?method=lt">Lietuviškai</html:link>
Надеюсь, это поможет.