struts2--国际化

国际化:
 同一款软件 可以为不同用户,提供不同语言界面  ---- 国际化软件 
资源包编写
 properties文件命名 :  基本名称_语言(小写)_国家(大写).properties
例如 :
 messages_zh_CN.properties 中国中文
 messages_en_US.properties 美国英文
ResourceBundle 加载不同国家 properties文件
ResourceBundle bundle = ResourceBundle.getBundle("messages", Locale.US);
Properties类加载文件:load方法

配置全局国际化:[开发中常用]
<constant name="struts.custom.i18n.resources" value="messages"></constant>[value值为properties文件的前缀,注意文件路径]
它可以使用在所有的action中;得到国际化内容:String msgname = this.getText("资源文件中key的名称");
使用在所有jsp页面中;得到国际化:使用struts2的标签得到,<s:text name="国际化资源文件中key的名称"></s:text>
使用在数据校验的显示页面 。得到国际化内容:
 在xml校验配置文件中
 <validators>
  <field name="username">
   <field-validator type="requiredstring">
    <message key="国际化资源文件中key的名称"></message>
   </field-validator>
  </field>
 </validators>
在action中配置国际化:
只是当前action中使用。
在action所在包中创建properties文件【 Action类名_zh_CN.properties】,不需要其他的配置 。
在包中中配置国际化:package中所有Action都可以使用。
在包中创建 package.properties,不需要其他配置。
配置临时国际化:主要在jsp中 引入国际化信息
在jsp指定读取 哪个properties文件的基本名称
在jsp中获取包范围的国际化:
 <s:i18n name="cn.xxxx.struts2.demo7.package">
  <s:text name="customer"></s:text>
 </s:i18n>


 

猜你喜欢

转载自jackpot1234.iteye.com/blog/2313407
今日推荐