Struts2国际化
2015-12-28 22:16
459 查看
一:简单理解
国际化简称i18n,其来源是英文单词 internationalization的首末字符i 和n。18为中间的字符数。
随着全球经济的一体化,软件开发者应该开发出支持多国语言、国际化的Web应用。对于Web应用来说,同样的页面在不同的语言环境下需要显示不同的效果。
国际化文件的命名规则:
1、基本名.properties 如:message.properties
2、基本名_语言编码_国家编码.properties 如:message_zh_CN.properties, message_en_US.properties 其中语言编码和国家编码是固定的,可以在JDK中Locale类的常量中找到。
Java中已经实现了国际化功能,struts2中只是对该功能进行了整合,以方便我们的使用。
Struts2中使用到国际化的地方有: 1、jsp页面的国际化; 2、Action信息国际化; 3、转换错误信息的国际化; 4、校验错误信息的国际化;
Struts2国际化文件分类: 1、全局范围国际化文件 2、包范围国际化文件 3、Action类范围国际化文件。
全局范围国际化文件:
编写一个messages_zh_CN.properties和messages_en_US.properties放在src下。
我在这里配置了两个属性:
messages_en_US:
login.username=username
login.password=password
messages_zh_CN:
login.username=\u767B\u5F55\u7528\u6237\u540D
login.password=\u767B\u5F55\u5BC6\u7801
在struts.xml中通过struts.custom.i18n.resources常量把资源文件定义为全局资源文件:
eg:
<!-- 配置struts2国际化 value是国际化资源基本名message-->
<constant name="struts.custom.i18n.resources" value="messages_en_US"/>
或者
<constant name="struts.custom.i18n.resources" value="messages_zh_CN"/>
(java代码中)国际化获取配置文件值使用:getText("键")
eg:getText("login.username") ---------》username。
或者
getText("login.username") ------------>登录用户名。
在jsp页面中使用国际化。这里需要使用标签:<s:i18n>标签
eg:
浏览器显示为:
浏览器显示为
新技术在不断的更新,该文章仅供参考!(最近好像在准备淘汰Struts)
国际化简称i18n,其来源是英文单词 internationalization的首末字符i 和n。18为中间的字符数。
随着全球经济的一体化,软件开发者应该开发出支持多国语言、国际化的Web应用。对于Web应用来说,同样的页面在不同的语言环境下需要显示不同的效果。
国际化文件的命名规则:
1、基本名.properties 如:message.properties
2、基本名_语言编码_国家编码.properties 如:message_zh_CN.properties, message_en_US.properties 其中语言编码和国家编码是固定的,可以在JDK中Locale类的常量中找到。
Java中已经实现了国际化功能,struts2中只是对该功能进行了整合,以方便我们的使用。
Struts2中使用到国际化的地方有: 1、jsp页面的国际化; 2、Action信息国际化; 3、转换错误信息的国际化; 4、校验错误信息的国际化;
Struts2国际化文件分类: 1、全局范围国际化文件 2、包范围国际化文件 3、Action类范围国际化文件。
全局范围国际化文件:
编写一个messages_zh_CN.properties和messages_en_US.properties放在src下。
我在这里配置了两个属性:
messages_en_US:
login.username=username
login.password=password
messages_zh_CN:
login.username=\u767B\u5F55\u7528\u6237\u540D
login.password=\u767B\u5F55\u5BC6\u7801
在struts.xml中通过struts.custom.i18n.resources常量把资源文件定义为全局资源文件:
eg:
<!-- 配置struts2国际化 value是国际化资源基本名message-->
<constant name="struts.custom.i18n.resources" value="messages_en_US"/>
或者
<constant name="struts.custom.i18n.resources" value="messages_zh_CN"/>
(java代码中)国际化获取配置文件值使用:getText("键")
eg:getText("login.username") ---------》username。
或者
getText("login.username") ------------>登录用户名。
在jsp页面中使用国际化。这里需要使用标签:<s:i18n>标签
eg:
<!-- 局部定义使用哪一种国际化语音 --> <s:i18n name="messages_zh_CN"> <form action="<%=basePath%>login.action" method="post"> <table> <tr> <td><s:text name="login.username"/></td> <td><input type="text" name="user.userName"/></td> </tr> <tr> <td><s:text name="login.password"/></td> <td><input type="text" name="user.password"/></td> </tr> <tr> <td colspan="2"><input type="submit" value="<s:text name="login"/>"/></td> </tr> </table> </form> </s:i18n>
浏览器显示为:
<!-- 局部定义使用哪一种国际化语音 --> <s:i18n name="messages_en_US"> <form action="<%=basePath%>login.action" method="post"> <table> <tr> <td><s:text name="login.username"/></td> <td><input type="text" name="user.userName"/></td> </tr> <tr> <td><s:text name="login.password"/></td> <td><input type="text" name="user.password"/></td> </tr> <tr> <td colspan="2"><input type="submit" value="<s:text name="login"/>"/></td> </tr> </table> </form> </s:i18n>
浏览器显示为
新技术在不断的更新,该文章仅供参考!(最近好像在准备淘汰Struts)
相关文章推荐
- Spring定时任务的几种实现
- 【第一章】 Spring概述 ——跟我学Spring3
- javaMail学习一,基本概念
- java中getBytes()用法
- Java类集学习(一)类集概述
- JAVA中将一个数组通过引用传递给一个函数,在函数内部改变了它,再回到主函数,这个数组却没变化?
- Java 访问权限控制public>protected>同包>private
- Java之I/O之 键盘操作 转换流 系统属性流System.getProperties()
- struts2-(1)使用Filter作为控制器
- java 与 R 相互调用
- java学习笔记
- Android Studio使用eclipse工程编写的Android.mk文件
- Java基础十大方向
- java中的自动包装
- SpringMVC RESTful总结之GET请求
- Java拓扑图开发-带宽示例
- 对Spring 及SpringMVC的理解
- 谈谈对Spring IOC的理解
- 【转】一个不错的eclipse反编译插件
- springMvc+MyBatis+Maven下JUnit使用的一种方式