我想知道是否可以将语言环境更改为操作,而不是通过 url 参数...
事实上,我有一个身份验证操作,对于经过身份验证的用户,我想切换到适当的语言环境。
我试过了 :
session.put("WW_TRANS_I18N_LOCALE", "my_locale")
或者
session.put("WW_TRANS_I18N_LOCALE", new Locale("my_locale"))
但还是什么都没有……
任何想法 ?
您应该将您的语言环境信息作为参数传递给操作。像这样的东西:
<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"));
您也可以使用:
ServletActionContext.getContext().setLocale(new Locale("en","US"));