实现资源国际化

本文介绍了一个采用Struts2和Ajax实现网站资源国际化的具体案例,包括中英文切换的方法。通过前端JavaScript点击事件触发Ajax请求,将语言参数传递给后端Action进行处理,并更新会话中的语言设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现网站资源国际化,中英双语切换。

采用<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>

 

转载于:https://www.cnblogs.com/zjw199306/p/5805630.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值