您的位置:首页 > 编程语言 > Java开发

Struts2(十三):超链接实现动态加载国际化资源文件

2017-07-21 14:17 323 查看
使用i18n拦截器实现

一,i18n拦截器:

i18n注册在默认的拦截器栈中

  1.拦截器工作流程(如何获取Locale对象):

    (1) 拦截器在执行Action方法之前,自动查找一个名为request_locale的参数

    (2)如果该参数存在:拦截器就将其作为参数,转换成Locale对象,并将其设为用户默认的Locale(代表国家/语言环境)。并将其设置为session的WW_TRANS_I18N_LOCALE属性

   (3)如果request没有request_locale这个参数则i18n拦截器将会从session中获取WW_TRANS_I18N_LOCALE属性值,如果该属性值不为空,则将该属性值设为浏览者默认的Locale

   (4)若session中的WW_TRANS_I18N_LOCALE的属性值为空,则从ActionContext中获取Locale对象

2.工作流程图:



二,实现

在超链接后面加上:request_locale的请求参数,值是语言国际代码:

<a href="test.action?request_Locale=en_US">English</a>
<a href="test.action?request_Locale=zh_CN">中文</a>

不能写成:因为没有经过拦截器
<a href="i18n.jsp?request_Locale=en_US">English</a>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2.0 国际化 动态