您的位置:首页 > 编程语言 > Java开发

Struts2 中动态切换国际化

2012-08-02 15:32 381 查看
Action写法:
packagecn.struts2.nick.util;

importjava.util.Locale;

importcom.opensymphony.xwork2.ActionContext;
importcom.opensymphony.xwork2.ActionSupport;

publicclassLangActionextendsActionSupport{
privatestaticfinallongserialVersionUID=1L;

StringCountry;
Stringlanguage;

publicStringexecute()throwsException{
Localelocale=newLocale(Country,language);
ActionContext.getContext().getSession().put("WW_TRANS_I18N_LOCALE",locale);
returnsuper.execute();
}

publicStringgetCountry(){
returnCountry;
}

publicvoidsetCountry(Stringcountry){
Country=country;
}

publicStringgetLanguage(){
returnlanguage;
}

publicvoidsetLanguage(Stringlanguage){
this.language=language;
}
}


struts.xml

<constantname="struts.custom.i18n.resources"value="struts2"></constant>

<packagename="lang"namespace="/"extends="struts-default">
<actionname="lang"class="cn.struts2.nick.util.LangAction">
<resultname="success">/index.jsp</result>
</action>
</package>


jsp写法:

<formaction="<%=request.getContextPath()%>/login.action"method="post">
<s:textname="login_userName"/><inputname="userName"size="19"type="text"/><br/>
<s:textname="login_Password"/><inputname="Password"Size="19"Type="password"/><br/>
<inputtype="submit"value="Submit"/>
</form>

<ahref="<%=request.getContextPath()%>/lang.action?Country=en&language=US">english</a>
<ahref="<%=request.getContextPath()%>/lang.action?Country=zh&language=CN">chainese</a>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: