message为JAVA的键值对的配置文件
其中使用的类:Locale,MessageBunddle
2.Struts中的I18N
1》资源配置文件
在struts-default.xml
定义了
国际化拦截器
Struts2加载全局资源文件
加载全局资源文件的方式是通过配置常量来实现的。(struts.custom.i18n.resources) ,如果需要在项目中提供国际化功能,则需要指定struts.custom.i18n.resources常量,可以在struts.properties、struts.xml和web.xml中定义
在struts.properties中定义basename
struts.custom.i18n.resources=globalMessages
在struts.xml中培植basename
在web.xml中定义
struts.custom.i18n.resources
globalMessages
2》 配置国际化所需要的资源键值对为了实现国际化,必须先提供程序所需的资源文件(key-value对)。资源文件的命名可以有一下三种形式:baseName_language_country.propertiesbaseName_language.propertiesbaseName.properties其中baseName是资源文件的基本名,用户可以自由定义。而language和country都不是可以随便定义的,必须是Java所支持的语言和国家。若为非西欧字符集,则需要使用native2ascii转换工具转换为Unicode编码即可。
3》访问国际化资源JSP页面输出: 用name属性来加载资源文件的key值。Action中访问:可以使用ActionSupport类的getText方法。该方法可以接受一个name参数,既资源文件的key值。表单元素的Label里输出:直接用对应表单的key属性。
4》输出带参数的国际化资源
JSP页面输出:在标签中使用多个
在视图中输出支持占位符的国际化资源信息需要使用标签苦,可以在标签中定义多个子元素来分别对应引用的国际化资源中的占位符
Action中访问:使用getText(String aTextName,List args)或者getText(String key,String[] args)。
带占位符的:
username=Your Name
password1=Password
birthday=Birthday
regsuccessmsg={0},Welcome!
regfaltmsg={0},Sorry!
welcomemsg=Hello {0},Now is{1}