实现网站资源国际化,中英双语切换。
采用<fmt>标签,js页面通过ajax异步传递到后台处理,实现中英文切换。
1,action
package com.language.action;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
/**
* 语言切换
* @author Junwei.Zeng
* @date 2016-8-25
*/
public class LanguageModAction extends ActionSupport{
private static final long serialVersionUID = 1L;
private String language;
public void languageMod(){
System.out.println("当前语言:"+language);
ServletActionContext.getRequest().getSession().setAttribute("language", language);
}
//set && get
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
}
2,js页面
<span id="Chinese">中文</span>
<span id="English">English</span><br>
<script type="text/javascript">
$("#Chinese").click(function(){
var url = window.location.href;
var p = "zh_CN";
$.ajax({
url : "languageModAction",
type : "GET",
data : {
"language" : p,
},
dataType : "text",
success : function(data) {
window.location=url;
}
});
});
$("#English").click(function(){
var url = window.location.href;
var p = "en_US";
$.ajax({
url : "languageModAction",
type : "GET",
data : {
"language" : p,
},
dataType : "text",
success : function(data) {
window.location=url;
}
});
});
</script>
<fmt:setLocale value="${language}" />
<fmt:bundle basename="globalMessages">
<fmt:message key="test" /><br>
<fmt:message key="username" /><br>
<fmt:message key="password" /><br>
<fmt:message key="cityLine" /><br>
<fmt:message key="WeChat" /><br>
<fmt:message key="FashionStreet" /><br>
</fmt:bundle>