2012-06-27 5 views
1

мне интересно, если это возможно, чтобы изменить локаль в действии, а не параметром URL-адрес ...Struts2 изменить локаль

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

Я пробовал:

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

или

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

, но до сих пор ничего ...

любую идею?

ответ

1

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

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

UPDATE 1

вот ссылка, что может, поможет вам. How to set locale in a custom Struts 2 ActionMapper

Вы также можете попробовать это, но я не уверен, если он работает. Поместите этот фрагмент в свой класс действий. ActionContext.getContext(). SetLocale (новый локаль («ваш локаль»));

0

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

Смежные вопросы