Action 写法:
package cn.struts2.nick.util;
import java.util.Locale;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LangAction extends ActionSupport {
private static final long serialVersionUID = 1L;
String Country;
String language;
public String execute() throws Exception {
Locale locale = new Locale(Country,language);
ActionContext.getContext().getSession().put("WW_TRANS_I18N_LOCALE", locale);
return super.execute();
}
public String getCountry() {
return Country;
}
public void setCountry(String country) {
Country = country;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
}
struts.xml
<constant name="struts.custom.i18n.resources" value="struts2"></constant>
<package name="lang" namespace="/" extends="struts-default">
<action name="lang" class="cn.struts2.nick.util.LangAction" >
<result name="success">/index.jsp</result>
</action>
</package>
jsp 写法:
<form action="<%= request.getContextPath() %>/login.action" method="post">
<s:text name="login_userName" /> <input name="userName" size="19" type="text" /><br />
<s:text name="login_Password" /> <input name="Password" Size="19" Type="password"/><br />
<input type="submit" value="Submit" />
</form>
<a href="<%= request.getContextPath() %>/lang.action?Country=en&language=US">english</a>
<a href="<%= request.getContextPath() %>/lang.action?Country=zh&language=CN">chainese</a>