Struts2 - 国际化

1.配置国际化资源文件

  • Action 范围资源文件:在Action类文件所在的路径建立名为ActionName_language_country.properties 的文件
  • 包范围资源文件:在包的根路径下建立文件名为package_language_country.properties 的属性文件,一旦建立,处于该包下的所有 Action 都可以访问该资源文件。注意:包范围资源文件的 baseName 就是package,不是Action所在的包名。
  • 全局资源文件

  –      命名方式: basename_language_country.properties

  –      struts.xml
    <constant name="struts.custom.i18n.resources" value="baseName"/>

  • 临时指定资源文件:<s:i18n.../> 标签的 name 属性指定临时的国际化资源文件

2.利用超链接实现动态加载国际化资源文件

  • Struts2 使用 i18n 拦截器 处理国际化,并且将其注册在默认的拦截器中
  • i18n拦截器在执行Action方法前,自动查找请求中一个名为request_locale 的参数。如果该参数存在,拦截器就将其作为参数,转换成Locale对象,并将其设为用户默认的Locale(代表国家/语言环境)。并把其设置为 session 的 WW_TRANS_I18N_LOCALE 属性
  • 若 request 没有名为request_locale 的参数,则 i18n 拦截器会从 Session 中获取 WW_TRANS_I18N_LOCALE 的属性值,若该值不为空,则将该属性值设置为浏览者的默认Locale
  • 若 session 中的 WW_TRANS_I18N_LOCALE 的属性值为空,则从 ActionContext 中获取 Locale 对象。

 

 

posted on 2018-04-05 11:04  pjlhf  阅读(108)  评论(0编辑  收藏  举报

导航