浏览 1167 次
锁定老帖子 主题:Struts2的国际化(i18n)
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-05
最后修改:2009-03-05
******Struts2的国际化(i18n):****** JDK国际化包: java.util 1.ResourceBundle 2.Locale *.一个国际化属性文件: baseName_language_country.properties; 如:hellofile_en_US.properties;hellofile_zh_CN.properties; 代码如下: Locale locale = locale.getDefault(); ResourceBundle bundle = ResourceBundle.getBundle("hellofile",locale); String value = bundle.getString("hello"); String result = MessageFormat.format(value, new Object[]{"北京"}); syso(value); 以上是java国际化底层的方法。 ******Struts2 JSP页面的国际化:****** 1.在struts.xml里: <constant name="struts.custom.i18n.resources" value="message"></constant> 2.配好message_en_US.properties;message_zh_CN.properties;文件 3.jsp里<s:text name="addUser"></s:text> 4.在Action类里就可以用国际化。代码如: this.addActionError(this.getText("username.invalid")); username.invalid就是properties里的key键。getText()方法就是得到国际化属性放到action里面。 getText(String aTextName, List args);List args是配动态值的,如{0},{1}; 5.在field域里就可以用国际化。代码如: 在RegisterAction-validation.xml的<filed>标签里写上<message key="username.xml.invalid">"username.xml.invalid </message> ******包级别提示信息****** 命名:package_en_US.properties;package_zh_CN.properties; ******类级别提示信息****** 命名:RegisterAction_en_US.properties;RegisterAction_zh_CN.properties; *.在jsp页面标签里看到key就想到国际化。 *.在资原文件里用<s:i18n>标签 <s:i18n name="属性文件名称"> <s:text name="hello"> <s:param>动态传参数</s:param> </s:text> </s:i18n> 资原文件要放在SRC目录下。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |