【发布时间】:2012-10-05 04:06:42
【问题描述】:
我有一个 Action 类,我想获取我的应用的语言环境并在此处更改它,但我不知道如何也找不到答案。
我可以使用super.getLocale().toString();获取当前语言环境
但是如何设置语言环境我不知道。
public class LoginAction extends ActionSupport {
private String login;
private String password;
private String language;
@Override
public String execute() throws Exception {
String result = Factory.INSTANCE.getUserDao().checkUser(login, password);
if(result == null){
return ERROR;
}
return SUCCESS;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
@Override
public void validate() {
super.validate();
if(login.isEmpty() | password.isEmpty()){
addActionError(getText("login.error"));
}else {
addActionMessage(getText("login.correct"));
}
}
}
我想在上面的 Action 类中更改我的应用程序的语言环境。我该怎么做?
【问题讨论】:
-
试试看这个:struts.apache.org/2.1.8/docs/i18n-interceptor.html。它说“attributeName (optional) - 用于存储所选语言环境的会话密钥的名称。默认情况下这是 WW_TRANS_I18N_LOCALE”。似乎可以将此会话属性设置为您的新语言环境。 (虽然我从未使用过 Struts2)
标签: java struts2 internationalization locale