struts2 和 java 国际化小结
2012-04-17 13:25
288 查看
1.java中使用[b]国际化.[/b]
国际化即internationalization简称i18n.
java中是通过配置文件名为baseName-language-country.properties内容为key-value形式的属性文件来实现国际化的.
可以通过Local类来查看java支持那些国家与语言的国际化.
Local[] ls=Local.getAvailableLocales();
for(Local local:ls){
System.out.println(local.getDisplayCountry()+" "+local.getCountry());
System.out.println(local.getDisplayLanguage()+" "+local.getLanguage());
System.out.println("----------");
}
根据资源文件获取内容.
//获得本地属性
Local l=Local.getDefault();
//根据本地国家语言来获得classes路径下baseName为message的资源文件
ResourceBundle rb=ResourceBundle.getBundle("message",l);
//获得key的值
String text=rb.getString("username");
//可以传入参数,如果资源文件这样定义的话:username={0}用户名
String textp=MessageFormat.format(rb.getString("username"),"普通");
2.[b]struts2国际化用法[/b]
先要配置baseName来指定资源文件,可在struts.xml文件中配置.
<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.[b]struts2资源文件的管理[/b]
有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路径下的资源文件.
<s:i18n name="message">
<s:form.... </s:i18n>
国际化即internationalization简称i18n.
java中是通过配置文件名为baseName-language-country.properties内容为key-value形式的属性文件来实现国际化的.
可以通过Local类来查看java支持那些国家与语言的国际化.
Local[] ls=Local.getAvailableLocales();
for(Local local:ls){
System.out.println(local.getDisplayCountry()+" "+local.getCountry());
System.out.println(local.getDisplayLanguage()+" "+local.getLanguage());
System.out.println("----------");
}
根据资源文件获取内容.
//获得本地属性
Local l=Local.getDefault();
//根据本地国家语言来获得classes路径下baseName为message的资源文件
ResourceBundle rb=ResourceBundle.getBundle("message",l);
//获得key的值
String text=rb.getString("username");
//可以传入参数,如果资源文件这样定义的话:username={0}用户名
String textp=MessageFormat.format(rb.getString("username"),"普通");
2.[b]struts2国际化用法[/b]
先要配置baseName来指定资源文件,可在struts.xml文件中配置.
<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.[b]struts2资源文件的管理[/b]
有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路径下的资源文件.
<s:i18n name="message">
<s:form.... </s:i18n>
相关文章推荐
- 【JavaWeb-17】国际化、自定义拦截器、struts2文件上传与下载、OGNL、contextMap
- struts2国际化小结
- java struts2国际化支持
- struts2--java国际化
- JAVA_WEB Struts2学习:使用验证框架进行校验JSP页面元素 反编译工具的配置 Strtuts2 国际化学习
- Java程序员从笨鸟到菜鸟之(六十六)细谈struts2(十二)struts2国际化底层大揭秘
- Java乔晓松-Struts2-国际化和OGNL表达式
- Struts2国际化小结(转帖)
- Java程序员从笨鸟到菜鸟之(六十六)细谈struts2(十二)struts2国际化底层大揭秘
- Struts2中国际化的JAVA实现
- java struts2国际化
- java框架之struts2国际化
- java struts2入门学习---国际化
- [JavaWeb基础] 016.Struts2 国际化配置
- JAVAWEB开发之Struts2详解(三)——Struts2信息国际化、自定义拦截器以及Struts2文件上传和下载详解
- java的struts1.x框架的国际化小结
- 11级_Java_曹建波 03.05 Struts2的国际化
- java框架篇---Struts2 本地化/国际化(i18n)
- 2011级-csdn-java-张侃—struts2文件上传错误信息国际化的处理(案例)
- JavaWeb -- Struts2 ResultType细化, 国际化