Struts2的国际化实现.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Struts2的国际化实现

第五章 Struts 2国际化 2010-3-24 内容提要 5.1 Struts2国际化原理 Struts2国际化原理(1) 国际化资源文件:用不同国家的语言描述相同的信息,并放在各自对应的.properties属性文件中,程序根据运行时环境决定加载哪个文件。 国际化主要通过以下类完成: java.util.Locale:对应一个特定的国家/区域、语言环境。 java.util.ResourceBundle:用于加载一个资源包。 I18nInterceptor:struts2所提供的国际化拦截器,负责处理Locale相关信息。 ? Struts2国际化原理(2) 国际化流程:程序得到当前运行环境的国家/区域、语言环境并存放于Locale,ResourceBundle根据Locale中信息自动有哪些信誉好的足球投注网站对应的国际化资源文件并加载。当某个Action被执行前,I18nInterceptor负责检测Locale相关信息来寻找对应的国际化资源。? Struts2国际化原理(3) Struts2默认的国际化资源文件: org.apache.Struts 2.struts-messages.properties:主要包括token/tokenSession拦截器使用时发生重复提交的提示信息、文件上传出错提示信息等。 com.opensymphony.xwork2.xwork- messages.properties:Action执行过程中发生错误提示信息和类型转换出错信息等。 Struts2没有提供中文国际资源文件,需要自己添加全局国际化资源文件。 另外i18n拦截器对“.action”之外的请求失效,因为Struts2中拦截器只能拦截“.action”结尾的请求。 5.2 使用Struts2国际化 编写并配置国际化资源文件(1) 为了实现国际化,必须先提供程序所需的资源文件(key-value对),如:username=用户名 资源文件的命名可以有以下三种形式: ? baseName_language_country.properties ? baseName_language.properties ? baseName.properties 其中baseName是资源文件的基本名,用户可以自由定义。而language和country都不是可以随便定义的,必须是Java所支持的语言和国家。 如:创建中文和英语国际化,那么资源文件名称为: globalMessages _zh_CN.properties globalMessages _en_US.properties 其中globalMessages为基本名。 编写并配置国际化资源文件(2) 国际化资源文件分为三种级别: (1)?全局资源文件,放在WEB-INF/classes路径下,可以被整个工程引用,需要在struts.properties文件中加入以下内容: struts.custom.i18n.resources=资源文件的基本名 或在struts.xml中加入: constant name=“struts.custom.i18n.resources” value=“资源文件的基本名”/ (2)?包级资源文件,每个包的根目录下可以新建资源文件,仅被当前包中的类访问。文件名格式为: package_语言代码_国家代码. (3)?Action级资源文件,仅被当前Action引用,名称为: action名_语言代码_国家代码 查找顺序为从小范围到大范围, Action级优先级最大。 编写并配置国际化资源文件(3) 建立两个属性文件并保存在WEB-INF/classes目录下: 调用国际化资源(1) struts2的国际化大致上分为页面的国际化,Action的国际化以及xml的国际化。 jsp页面的国际化 使用标签s:text name=“资源文件中定义的key”/输出国际化 使用struts2标签的key属性,此时theme不能设置为simple: s:textfield name=name key=资源文件中定义的key/ 使用s:i18n/s:i18n标签对直接在资源文件中查找 调用国际化资源(2) getText(String key)可在所以需要的地方使用 页面,如 s:textfield name=name label=%{getText(资源文件中定义的key )}/ 如在Action中使用此方法,则必须继承ActionSupport类 通常在检验文件中使用$getT

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档