天天看点

struts2中国际化的应用

struts2中国际化的应用

软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。

国际化,简称i18n,简单的说,让代码自动适应不同的使用的环境的语言.另外,对于开发来说,解耦合配置.

Struts2 中的国际化

使用前提

在 Struts2 中,所有的消息提示都是基于国际化的。其次,要想在 truts2中使用国际化,动作类必须继承 ActionSupport 类。

配置资源包

a、配置全局资源包

struts2中国际化的应用

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(默认匹配)

struts2中国际化的应用

通过更改浏览器的语言,来选择不同的国际化文件

国际化文件的内容要求,必须是ascii码,中文必须编码。使用java命令:native2ascii

表单校验提示信息的国际化

校验的文件中配置:

struts2中国际化的应用

国际化文件中配置:

struts2中国际化的应用

页面信息的国际化

  • 可以用在代码中,getText(key)
  • 可以用在配置文件中,
  • 可以直接用在页面中。使用

在国际化文件中增加:

struts2中国际化的应用

在页面中读取国际化信息:

struts2中国际化的应用

继续阅读