注册 登录
编程论坛 JAVA论坛

Struts2 的 i18n 通过action到jsp可以切换语言,jsp通过<a>直接到jsp语言就不能切换,why??

ihlx523 发布于 2015-12-13 14:43, 2799 次点击
最近使用Struts2 的 i18n 做网站的中英文国际化,第一次使用国际化,结果遇到这样一个问题:
我在show.jsp切换语言到英文,然后通过action跳转到to.jsp,能正常显示英文, 再在to.jsp中通过action跳转到index.jsp也能显示英文,每个action 都只做跳转用,没有其他代码,
,但是如果我在show.jsp切换语言到英文后,直接通过<a>跳转到to.jsp,还是只能显示中文 这是为什么呢,请大家帮助一下,谢谢!

struts.xml 中有配置 <constant name="struts.custom.i18n.resources" value="message"/>
中英文语言的propeties 有

这是切换英语的代码 <a href="test.action?languageName=en&request_locale=en_US">english</a><br />

这个是切换语言时的action
private String languageName;

public String getLanguageName() {
return languageName;
}
public void setLanguageName(String languageName) {
this.languageName = languageName;
}

public String test(){
Locale locale = Locale.getDefault();
if(languageName.equals("zh")){
locale = new Locale("zh","CN");
}else if(languageName.equals("en")){
//locale = Locale.US;
locale = new Locale("en","US");
}
ServletActionContext.getRequest().getSession().setAttribute("WW_TRANS_I18N_LOCALE",locale);
ServletActionContext.getContext().setLocale(locale);
//ActionContext.getContext().setLocale(locale);
return "success";
}
0 回复
1