struts2中国际化的应用
软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。
国际化,简称i18n,简单的说,让代码自动适应不同的使用的环境的语言.另外,对于开发来说,解耦合配置.
Struts2 中的国际化
使用前提
在 Struts2 中,所有的消息提示都是基于国际化的。其次,要想在 truts2中使用国际化,动作类必须继承 ActionSupport 类。
配置资源包
a、配置全局资源包
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuM3UsxkZLh0Lc12bj5ic1dWbp5Savw1LcpDc0RHaiojIsJye.png)
b、配置包范围的资源包
资源包名称命名规范:
package_语言代码_国家代码.properties(固定的)。以此种命名方式的资源包能被该包及其子包中的动作类访问
c、局部消息资源包(只为动作类来使用的)
资源包名称命名规范:action名称语言代码国家代码.properties。以此种命名方式的资源包,只为动作类服务。
读取资源包的内容
a、action中的读取方式:getText(“key”)
b、在页面中读取资源包内容:,如果资源包中没有对应的key值时,则把key的内容显示在页面上。
国际化的基本使用
getText:从国际化文件的配置中,根据key去获取值
国际化文件扩展名必须叫peoperties,名字随意取,但有规则.
- 建立全局的国际化文件:message.properties
- 配置国际化文件内容:(键值对)
- 配置国际化文件:
<!--国际化文件,value的值,必须和国际化文件的文件名(不包含扩展名)一致--> <constant name="struts.custom.i18n.resources" value="message" />
- 获取国际化信息:addActionError(super.getText(“UserAction.loginerror”));
国际化语言问题
根据文件名的规则来选择不同的语言。
完整的文件名:
名字语言编码国别编码.properties
比如:
messagers_zh_CN.properties(完全匹配)
messagers_zh.properties(部分匹配)
messagers.properties(默认匹配)
通过更改浏览器的语言,来选择不同的国际化文件
国际化文件的内容要求,必须是ascii码,中文必须编码。使用java命令:native2ascii
表单校验提示信息的国际化
校验的文件中配置:
国际化文件中配置:
页面信息的国际化
- 可以用在代码中,getText(key)
- 可以用在配置文件中,
- 可以直接用在页面中。使用
在国际化文件中增加:
在页面中读取国际化信息: