S2SH开发中客户选择版国际化问题
来源:互联网 发布:免费医药进销存软件 编辑:程序博客网 时间:2024/05/16 09:37
利用客户的选择来决定使用什么样的语言,而不是上篇说的跟随浏览器来变化。
Strust2的默认拦截器包括i18n拦截器,i18n拦截器在执行Action前,自行查找请求
中一个名为request_locale的参数,如果该参数存在,拦截器将其作为参数,转化成Locale对象,并将其设为用户默认的Locale。若不执行Action,则根据浏览器的语言环境生成cale对象,用户选择的语言环境不起作用。下面的配置就是为了保证每一个页面都是执行Action后跳转的,从而可以保证用户选择的语言环境可以起作用。若每个页面能确保是Action之后跳转的,可省略该配置。
所以主要还是针对session来进行配置,因为浏览器的语言选择也是根据session的,所以在浏览器之前就对session进行操作。
HttpSessionsession =(HttpSession)ServletActionContext.getRequest().getSession();
if(u != null){
ac.getSession().put("user",u);
ac.getSession().put("skin",u.getSkin());//皮肤保存到session
Localelocale ;//本地语言
if(u.getKey().equals("1")){
locale=Locale.CHINA;
}else{
locale=Locale.US;
}
ActionContext.getContext().setLocale(locale);
session.setAttribute("WW_TRANS_I18N_LOCALE",locale);//session保存,两个session有区别
return"okLogin";
functionchange(key){
$.ajax({
type:'post',
url:'user_changeLocale',
data: {
'userId': <s:property value="#session.user.userId"/>,
'key': key
},
dataType:'text',
success:function(data,status) {
$('#in<s:propertyvalue="#session.user.userId"/>').html(data);
}
});
window.parent.frames.location.reload();//重新设置全局Locale
};
language:
<aid="key"href="javascript:;"onclick="change(1);">chinese</a>
<aid="key"href="javascript:;"onclick="change(0);">english</a>
publicString changeLocale() throwsException {//语言更换
HttpSessionsession =(HttpSession)ServletActionContext.getRequest().getSession();
Localelocale ;
System.out.println("key"+key);
if(key.equals("1")){
locale=Locale.CHINA;
}else{
locale=Locale.US;
}
ActionContext.getContext().setLocale(locale);
session.setAttribute("WW_TRANS_I18N_LOCALE",locale);
Useru =userService.modifyfindById(userId);
u.setKey(key);
userService.modifyUser(u);
HttpServletResponseresponse = ServletActionContext.getResponse();
response.setContentType("text/html;charset=utf-8");
PrintWriterout = response.getWriter();
out.println(getText("success"));
returnnull;
}
- S2SH开发中客户选择版国际化问题
- S2SH整合开发中,遇到的国际化问题如何解决?
- s2sh开发环境搭建遇到的问题总结
- Android开发之国际化问题
- JavaWeb开发中的国际化问题
- S2SH整合中web.xml的相关问题集合
- S2SH框架整合过程中遇到的问题
- S2SH中懒加载问题以及JSONException的解决
- S2SH整合开发步骤
- S2SH整合开发
- S2SH开发环境搭建
- S2SH乱码问题
- s2sh中hibernate分页
- s2sh中出现乱码
- Qt国际化功能开发中的Locale问题
- 项目开发中如何应对客户
- iOS 开发中实现国际化语言切换
- 基于S2SH框架开发项目
- 《鸟哥的linux》-第17章-程序与资源管理
- Android手机软件开发 课程 教学 大纲
- Apache2.2.4整合Tomcat6.0.16三种方式的详细配置过程
- vb.net2008 指定类名和方法名进行测试用的工具
- code
- S2SH开发中客户选择版国际化问题
- Multipath实现LUN设备名称的持久化
- 不到300行的简单线程池C++实现
- Struts整合spring方法(二)
- linux常用命令
- vb.net2008 启动画面专用类
- 通过继承实现edit控件的拖拽文件功能扩展的一般步骤
- kzalloc 函数详解
- 实数