1

我想知道是否可以将语言环境更改为操作,而不是通过 url 参数...

事实上,我有一个身份验证操作,对于经过身份验证的用户,我想切换到适当的语言环境。

我试过了 :

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

或者

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

但还是什么都没有……

任何想法 ?

4

2 回答 2

1

您应该将您的语言环境信息作为参数传递给操作。像这样的东西:

<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"));

于 2012-06-27T10:23:13.977 回答
0

您也可以使用: ServletActionContext.getContext().setLocale(new Locale("en","US"));

于 2013-03-03T23:07:57.527 回答