读书人

Struts2温习(9)-国际化的应用

发布时间: 2012-09-13 09:51:53 作者: rapoo

Struts2温习(9)--国际化的应用

1. Java对国际化的支持: Java内部使用unicode编码方式。
? 1) java.util.Locale 表示了特定的地理、政治和文化地区. 环境信息对象。
??????????? 由语言代码和区域代码组成。
???????????? 语言代码小写字母: en,zh
???????????? 区域代码大写字母: US,CN

? 2) java.util.ResourceBundle 用于绑定特定语言环境的资源对象。
???????????? 资源文件的命名规范:基本名_语言代码[_区域代码].properties
???????????? 默认资源文件名:基本名.properties
??????????? 中国:基本名_zh_CN.properties
??????????? 美国:基本名_en_US.properties
????
? 3) java.text.MessageFormat 用于对含有占位符的字符进行格式化输出。
? 4) 编码方式:
???? Locale locale = Locale.CHINA;
???? ResourceBundle rb? = ResourceBundle.getBundle("资源文件的基本名", locale);
???? String value = rb.getString("key");
???? String str = MessageFormat.format(value, Object... arguments);

2. Struts2的国际化应用
? 1) 在classpath中添加针对特定语言环境的资源文件
? 2) 在struts.xml中通过常量配置注册资源文件的基本名:
???? <constant name="struts.custom.i18n.resources" value="msg"/>
? 3) 在JSP页面中,用<s:text value="资源文件中的key"/>就可以取出本地化的消息
???? Struts2的表单标签都有一个属性key用来取出本地化的消息
? 4) 在Action中,可以使用ActionSupport类提供的getText("key", 给占位符传值的对象数组);也可以获取本地化的消息

?

具体示例

index.jsp

?I18NAction.java


?

src/struts.xml

?

?

一般情况下我们浏览器默认语言都是中文,运行呈程序效果如下


Struts2温习(9)-国际化的应用
?如果更换浏览器语言为英语【美国】,那么重新刷新页面,结果就是英文界面如下


Struts2温习(9)-国际化的应用
?

读书人网 >软件架构设计

热点推荐