Struts2学习--国际化

国际化Internationalization-I18N,本地化Localization-L10N

为了实现国际化,必须先提供程序所需的资源文件(key-value对)。资源文件的命名可以有一下三种形式:
 baseName_language_country.properties
 baseName_language.properties
 baseName.properties
其中baseName是资源文件的基本名,用户可以自由定义。而language和country都不是可以随便定义的,必须是Java所支持的语言和国家。

Struts2 加载全局资源文件的方式是通过配置常量(struts.custom.i18n.resources) 来实现的

Struts2中提供多种方式加载国际化资源文件,包括指定包范围资源文件、类范围资源文件,以及临时指定资源文件。
(1)包范围资源文件
方法:在包的根路径下建立多个文件名为package_languae_country.properties的文件,一旦建立了这个系列的国际化资源文件,应用中处于该包下的所有Action都可以访问该资源文件。
注意:上边的包范围资源文件的baseName就是package,不是Action所在的包名。该文件通常需要放在该包的根路径下即可。
(2)Action范围资源文件
方法:在Action类文件所在的路径下建立多个文件名为ActionName_language_country.properties的文件。一旦建立,该Action将可以访问该Action范围的资源文件。
(3)临时指定资源文件
JSP中用到,如果把<s:i18n …/>标签作为<s:text … />的父标签,作为<s:text … />标签将会直接加载<s:i18n …/>标签中指定的国际化资源文件;如果当作表单的父标签,则表单标签可以使用key属性将会从国际化资源文件中加载该信息。该文件保存在WEB-INF/classes路径下。
如:
<s:i18n name="tmp">
<s:text name="loginPage"/>
</s:i18n>

访问国际化资源
JSP页面输出:<s:text name=”username” /> 用name属性来加载资源文件的key值。
Action中访问:可以使用ActionSupport类的getText方法。该方法可以接受一个name参数,既资源文件的key值。
表单元素的Label里输出:直接用对应表单的key属性。

输出带占位符号的国际化信息
JSP页面输出:在<s:text name=”username” />标签中使用多个<s:param …/>
Action中访问:使用getText(String aTextName,List args)或者getText(String key,String[] args)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值