struts2之5--国际化支持

1  struts2支持国际化的原理

struts2的程序国际化支持建立在java程序国际化的基础之上,

原理思想: 程序界面中需要输出国际化信息的地方,我们不要在页面上直接去输出信息,而是输出一个key值,该key值在不同语言环境下对应不同的字符串。当程序需要显示的时候,程序将根据不同的语言环境,加载该key对应该语言环境下的字符串--这样就可以完成程序的国际化。如果需要程序支持更多的语言环境,只需要增加更多语言资源文件即可。资源文件是key-value对,每个资源文件中的key是不变的,但value则随不同国家\语言变化。

2 资源文件的文件名命名格式

资源文件的命名可以有如下3种形式
   baseName_language_country.properties
   baseName_language.properties
   baseName.properties
  其中baseName是资源文件的基本名,用户可以自由定义。而language和country都不可随意变化,必须是java所支持的语言和国家。
 如果需要获取java所支持的语言和国家,可调用Locale类的getAvailableLocale方法获取,该方法返回一个Locale数组,该数组里包含了Java所支持的语言和国家。

如中文如下:
 messageResouce_zh_CN.properties
 美国英文如下:
 messageResouce_en_US.properties

3 如何加载国际化资源文件

struts2提供了很多加载国际化资源文件的方式,最简单,最常用的就是加载全局的国际化资源文件,加载全局的国际化资源文件的方式通过配置常量来实现。不管在struts.xml文件中配置常量,还是在struts.properties文件中配置常量,只需要配置struts.custom.i18n.resources常量即可。指定全局国际化资源文件的baseName.
struts.properties 这个文件不是必须的。
因为  struts.xml文件中 有 <constant> 这个节点, 你可以把你想写在struts.properties的自定义配置写在 struts.xml文件当中。
struts.properties文件通常放在Web应用的WEB-INF/classes路径下. 实际上, 只要将该文件放在Web应用的CLASSPATH路径下, Struts 2框架就可以加载该文件.

//我定义struts2 的资源文件的baseName是messageResource

struts.custom.i18n.resources=messageResource
注意:
 以上是资源文件默认加载WEB/classes下的资源文件,如果将改资源文件保存在WEB-INF/classes的子目录下,例如 保存在
  WEB-INF/classes/liweiguo路径下,则需要修改struts.properties

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值