国际化小结

1.java中使用国际化。 

国际化即internationalization简称i18n. 
java中是通过配置文件名为baseName-language-country.properties内容为key-value形式的属性文件来实现国际化的。 

可以通过Local类来查看java支持那些国家与语言的国际化。 
Java代码   收藏代码
  1. Local[] ls=Local.getAvailableLocales();  
  2. for(Local local:ls){  
  3.    System.out.println(local.getDisplayCountry()+" "+local.getCountry());  
  4.    System.out.println(local.getDisplayLanguage()+" "+local.getLanguage());  
  5.    System.out.println("----------");  
  6. }  


根据资源文件获取内容。 

Java代码   收藏代码
  1. //获得本地属性  
  2. Local l=Local.getDefault();  
  3. //根据本地国家语言来获得classes路径下baseName为message的资源文件  
  4. ResourceBundle rb=ResourceBundle.getBundle("message",l);  
  5. //获得key的值  
  6. String text=rb.getString("username");  
  7. //可以传入参数,如果资源文件这样定义的话:username={0}用户名  
  8. String textp=MessageFormat.format(rb.getString("username"),"普通");  


2.struts2国际化用法 

先要配置baseName来指定资源文件,可在struts.xml文件中配置。 
Java代码   收藏代码
  1. <constant name="struts.custom.i18n.resources" value="message"></constant>  

然后在classes路劲下添加资源文件。 

资源文件内容写法。 
a.不带参数:key=value 
b.带索引参数:key={0}value{1} 
c.带表达式参数:key=${username}value  表示从ValueStack中直接获得username变了值,此种方式不需要像(b)那样手动传递参数 

访问国际化消息。 
jsp页面:<s:text/>或<s:text><s:param>value1</s:param></s:text> 
action中:getText()方法 

3.struts2资源文件的管理 

有4类资源文件: 
a.全局范围,在classes路径下。 
   baseName-language-country.properties.如message_zh_CN.properties 
b.包范围,在包根路径下。 
   package-language-country.properties.如package_zh_CN.properties 
c.类范围,在该类同一路径下。 
   actionName-language-country.properties.如LoginAction_zh_CN.properties 
d.临时资源文件,在jsp页面使用<s:i18n>标记来指定classes路径下的资源文件。 
   <s:i18n name="message"> 
       <s:form.... 
   </s:i18n> 

转载请注明出处:http://383984216-qq-com.iteye.com/blog/1152890 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值