struts2国际化小结

开发 后端
java中是通过配置文件名为baseName-language-country.properties内容为key-value形式的属性文件来实现国际化的

1.java中使用国际化。

国际化即internationalization简称i18n.

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

可以通过Local类来查看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("----------"); 

根据资源文件获取内容。

  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文件中配置。

  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页面:或value1

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页面使用标记来指定classes路径下的资源文件。

  1. <s:i18n name="message"> 
  2.     <s:form.... 
  3. </s:i18n>  

原文链接:http://383984216-qq-com.iteye.com/blog/1152890

【编辑推荐】

  1. Struts2单元测试:使用Junit测试Action
  2. 初析Struts2中的Ajax开发实例
  3. Java两大框架的碰撞:Struts2与Webwork的对比
责任编辑:艾婧 来源: 383984216-qq-com
相关推荐

2009-06-25 16:04:30

2009-02-04 15:04:13

2009-06-05 09:40:59

2009-06-05 10:37:52

struts2 国际化表单

2009-07-29 09:54:34

struts2和str

2009-06-25 15:11:28

Struts2教程Struts2程序

2009-02-04 10:51:07

2011-07-08 11:13:42

Cocoa Touch XCode

2009-06-04 08:34:24

Struts2配置struts.xml

2009-07-03 09:35:57

Struts2 JSP

2010-01-04 13:09:51

Silverlight

2011-05-17 09:39:38

JavaSE

2009-07-14 17:10:44

struts2webwork

2009-06-04 09:20:19

struts2 if标使用

2009-06-03 14:19:34

Struts2Guice

2013-07-18 15:09:27

2009-06-25 15:26:25

Struts2教程struts.xml常

2012-05-10 14:00:06

StrutsjsonJava

2013-07-19 09:36:04

struts2struts2漏洞

2009-02-04 11:37:15

点赞
收藏

51CTO技术栈公众号