一、国际化(Internationalzation)的含义
国际化即i18n(Internationalzation),是指程序员能够在不修改内部代码的前提下,根据不同的语言及地区显示相应的界面
Struts是一种支持国际化的框架,它采用信息资源文件(.properties)来管理国际化的信息,将“资源”和“代码”进行分离,使用Struts开发国际化程序是一件很便利的事情。
二、Struts国际化组件(.properties文件)
资源文件必须以.properties结尾,文件名前缀可以任意命名,习惯上命名方式有以下两种:
a.文件名前缀.properties
b.文件名前缀_语言种类.properties
其中,语言种类字段必须是有效的ISO语言代码,ISO-639标准定义的这些代码给事为英文小写、双字符,如汉语_zh、英语_en、法语_fr、德语_de、日语_it、意大利语_ja等。
所有资源文件合在一起被称为资源包(ResourceBundle)。
如:
用于创建汉语界面的Application_zh.properties:
login.jsp.title=登录页面
login.jsp.page.heading=<h2>登录页面</h2>
success.jsp.title=登录成功页面
success.jsp.page.heading=<h2>欢迎登录</h2>
login.no.username.error=<li>用户名不能为空</li>
login.no.userpsw.error=<li>密码不能为空</li>
login.error=<li>用户名或密码错误</li>
用户创建英语界面的Application_en.properties:
login.jsp.title=login page
login.jsp.page.heading=<h2>login page</h2>
success.jsp.title=loginsuccess
success.jsp.page.heading=<h2>welcome login this page</h2>
login.no.username.error=<li>username is not null</li>
login.no.userpsw.error=<li>password is not null</li>
login.error=<li>username or password is error</li>
三、访问资源报的方式
访问资源包的方式主要包括两种:一种是在JSP页面中通过Struts标签<bean:message>来访问,另一种是在程序中访问(locale)。
四、Struts国际化实验步骤
1、定义资源文件
com.ApplicationResources.properties
com.xxx_zh_CN.properties
2、配置资源文件
<message-resources
parameter="com.ApplicationResources"/>
<message-resources
parameter="com.xxx" key="xxx"/>
3、使用资源文件
<bean:message key="title"/>
<bean:message key="info.title" bundle="xxx"/>
4、切换语言类型
工具—— Internet选项——常规——语言