您的位置:首页 > 编程语言 > Java开发

【转载】struts2 学习总结 ---- i18n国际化

2014-07-23 02:59 423 查看
i18n国际化
实现国际化的步骤:在struts.xml中指定资源文件的基名及存储路径
<constant name="struts.custom.i18n.resources" value="message,error" />
<constant name="struts.custom.i18n.resources" value="com.demo.message,com.demo.error" />

按需求创建相应的资源文件,用来存放资源
<!--
文件命名规则:
1.默认文件: 基名.properties
eg: message.properties
2.语言 : 基名_语言.properties
eg: message_zh.properties
3.国家或地区: 基名_语言_国家或地区.properties
eg : message_zh_TW.properties message_zh_HK.properties

资源文件的写法
Key=Value

eg:
zh: field_User.username=\u7528\u6237\u540D
en: field_User.username=username
-->

实现 jsp 页面的国际化
<!-- 在jsp页面 用 <s:text name="key" />  标签来获取写在资源文件中的配置 
<s:i18n> 标签:用来加载临时 资源文件 -->
<s:i18n name="message">
<!-- 方式一 s:text -->
<s:text name="title" />
<s:form action="login.action" >
<!--方式二 key="xxx" -->
<s:textfield name="user.username" key="username"></s:textfield>
<!-- 也算是一种方式吧 -->
<s:textfield name="user.password" >
<s:param name="label">
<s:text name="password" />
</s:param>
</s:textfield>
<s:submit >
<s:param name="value">
<s:text name="btnSubmit" />
</s:param>
</s:submit>
</s:form>
</s:i18n>

实现验证错误信息的国际化
<!--
1.在 validation.xml 中 用message 节点的 key 属性 来指定国际化资源对应的key来获取value
-->
<field name="user.username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message key="username" />
</field-validator>
</field>

<!--
2.在 Action 类中 用 继承自ActionSupport的getText(String key);方法来获取key 对应的value
-->
public void validateLogin(){
if(user==null||user.getUsername==null||user.getUsername.isEmpty()){
this.addFieldError("user.username",getText("username"));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: