Struts2 изменить язык

Мне интересно, можно ли изменить локаль на действие, а не параметр URL...

На самом деле у меня есть действие аутентификации, и в отношении пользователя, который прошел аутентификацию, я хочу переключиться на соответствующую локаль.

Я пытался :

session.put("WW_TRANS_I18N_LOCALE", "my_locale")

or

session.put("WW_TRANS_I18N_LOCALE", new Locale("my_locale"))

но все равно ничего...

любая идея ?


person kakashi99    schedule 27.06.2012    source источник


Ответы (2)


вы должны передать информацию о вашей локали в качестве параметра действия. что-то вроде этого:

<s:url id="url" action="your-action" >
   <s:param name="request_locale" >${your-locale}(e.g. de, en, etc.)</s:param>
</s:url>

ОБНОВЛЕНИЕ 1

вот ссылка, которая может вам помочь. Как установить локаль в пользовательском Struts 2 ActionMapper

Вы также можете попробовать это, но я не уверен, что это сработает. Поместите этот фрагмент в свой класс действий. ActionContext.getContext().setLocale(new Locale("your-locale"));

person Jaiwo99    schedule 27.06.2012

Также вы можете использовать: ServletActionContext.getContext().setLocale(new Locale("en","US"));

person Thiago Dieb    schedule 03.03.2013