注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

Struts2 国际化的运行机制  

2011-04-06 19:41:32|  分类: Java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Struts2国际化的运行机制 

在Struts2中,可以通过ActionContext.getContext().setLocale(Locale arg)设置用户的默认语言。

为了简化设置用户默认语言环境,Struts2提供了一个名为i18n的拦截器(Interceptor),并且将其注册在默认的拦截器中(defaultStack)。

i18n拦截器在执行Action方法前,自动查找请求中一个名为request_locale的参数。如果该参数存在,拦截器就将其作为参数,转换成Locale对象,

并将其设为用户默认的Locale(代表国家/语言环境)。

除此之外,i18n拦截器还会将上面生成的Locale对象保存在用户Session的名为WW_TRANS_I18N_LOCALE的属性中。一旦用户Session中存

在一个名为WW_TRANS_I18N_LOCALE的属性,则该属性指定的Locale将会作为浏览者的默认Locale。


在某些情况下,我们就可以用到request_locale

1.进行语言切换。

2.某些浏览器页面语言显示不正确时,也可以用该参数来纠正。


使用很简单只要在自己的URL后多加一个参数  例如 toSomePlace.action?request_locale=en_US


我最近在IE8上遇到一个很特别的问题,就是FusionChart的国际化时,它 的request请求永远都是Accept_Language = zh_CN,

导致我切换浏览器默认语言不起作用,但是FireFox下一切正常。不得已就在FusionChart的setDataURL方法的url中加了一个参数,

如上所示。


参考资料:

http://www.360doc.com/content/11/0308/16/1073512_99262699.shtml

  评论这张
 
阅读(234)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017