struts2通过ajax动态改变系统后台的语言来达到国际化页面切换的功能
2016-02-03 16:26
537 查看
利用jquery动态获取不同语言页面
1:制作选择连接
<divid="language">
<a id="zh_TW" href="">繁</a> |
<aid="zh_CN" href="">简</a> |
<aid="en" href="">EN</a>
</div>
2:编写jquery来处理超链接click事件
var $atag = $("a");
$atag.click(function(){
varurl = "Language.action";
vardata = {
sourcePage:"/page/i18n.jsp",
setLanguage:this.id
};
$.get(url,data);
});
3:编辑action类
publicclass I18nAction extends ActionSupport{
String setLanguage = null;
String sourcePage = null;
public String getSetLanguage(){
return setLanguage;
}
public void setSetLanguage(String setLanguage) {
this.setLanguage =setLanguage;
}
public String getSourcePage() {
return sourcePage;
}
public void setSourcePage(String sourcePage) {
this.sourcePage =sourcePage;
}
public String changeLanguae(){
System.out.println("setLanguage=" + setLanguage +"sourcePage=" +sourcePage);
ActionContext ctx = ActionContext.getContext();
//设置语言
setLanguage = setLanguage.trim();
if("en".equals(setLanguage)){
ctx.getSession().put("WW_TRANS_I18N_LOCALE", Locale.ENGLISH);
ctx.setLocale(Locale.ENGLISH);
}else if ("zh_CN".equals(setLanguage)){
ctx.getSession().put("WW_TRANS_I18N_LOCALE", Locale.SIMPLIFIED_CHINESE);
ctx.setLocale(Locale.SIMPLIFIED_CHINESE);
}else if("zh_TW".equals(setLanguage)){
ctx.getSession().put("WW_TRANS_I18N_LOCALE", Locale.TRADITIONAL_CHINESE);
ctx.setLocale(Locale.TRADITIONAL_CHINESE);
}else{
ctx.getSession().put("WW_TRANS_I18N_LOCALE", Locale.FRANCE);
ctx.setLocale(Locale.FRANCE);
}
if(sourcePage!=null){
return"success";
}else{
return"error";
}
}
}
4:编辑struts.xml文件
<action
name="Language"
class="i18n.I18nAction"
method="changeLanguae">
<result
name="success">${sourcePage}</result>
<result
name="error">/index.jsp</result>
</action>
1:制作选择连接
<divid="language">
<a id="zh_TW" href="">繁</a> |
<aid="zh_CN" href="">简</a> |
<aid="en" href="">EN</a>
</div>
2:编写jquery来处理超链接click事件
var $atag = $("a");
$atag.click(function(){
varurl = "Language.action";
vardata = {
sourcePage:"/page/i18n.jsp",
setLanguage:this.id
};
$.get(url,data);
});
3:编辑action类
publicclass I18nAction extends ActionSupport{
String setLanguage = null;
String sourcePage = null;
public String getSetLanguage(){
return setLanguage;
}
public void setSetLanguage(String setLanguage) {
this.setLanguage =setLanguage;
}
public String getSourcePage() {
return sourcePage;
}
public void setSourcePage(String sourcePage) {
this.sourcePage =sourcePage;
}
public String changeLanguae(){
System.out.println("setLanguage=" + setLanguage +"sourcePage=" +sourcePage);
ActionContext ctx = ActionContext.getContext();
//设置语言
setLanguage = setLanguage.trim();
if("en".equals(setLanguage)){
ctx.getSession().put("WW_TRANS_I18N_LOCALE", Locale.ENGLISH);
ctx.setLocale(Locale.ENGLISH);
}else if ("zh_CN".equals(setLanguage)){
ctx.getSession().put("WW_TRANS_I18N_LOCALE", Locale.SIMPLIFIED_CHINESE);
ctx.setLocale(Locale.SIMPLIFIED_CHINESE);
}else if("zh_TW".equals(setLanguage)){
ctx.getSession().put("WW_TRANS_I18N_LOCALE", Locale.TRADITIONAL_CHINESE);
ctx.setLocale(Locale.TRADITIONAL_CHINESE);
}else{
ctx.getSession().put("WW_TRANS_I18N_LOCALE", Locale.FRANCE);
ctx.setLocale(Locale.FRANCE);
}
if(sourcePage!=null){
return"success";
}else{
return"error";
}
}
}
4:编辑struts.xml文件
<action
name="Language"
class="i18n.I18nAction"
method="changeLanguae">
<result
name="success">${sourcePage}</result>
<result
name="error">/index.jsp</result>
</action>
相关文章推荐
- JQuery+Strusts1.x无刷新登录
- 解决Ajax悬停效果,无法遮蔽FLASH的问题
- 再谈Jquery Ajax方法传递到action(补充)
- Dom在ajax技术中的作用说明
- 使用Ajax实时检测"用户名、邮箱等"是否已经存在
- 探讨Ajax中同步与异步之间的区别
- 浅谈Ruby on Rails的国际化
- ajax中data传参的两种方式分析
- 原生AJAX写法实例分析
- 探秘ajax跨域请求
- JQuery ajax返回JSON时的处理方式 (三种方式)
- Ajax中浏览器和服务器交互详解
- ajax实现点击不同的链接让返回的内容显示在特定div里
- ajax 动态传递jsp等页面使用id辨识传递对象
- ajax与传统web开发的异同点
- AJAX简单应用实例-弹出层
- AJAX初级教程之初识AJAX
- Ajax无刷新分页的性能优化方法
- jquery对ajax的支持介绍
- jQuery基于ajax实现星星评论代码