Struts2学习笔记17:Struts2的国际化
第十六、十七讲
学习内容:
1)Java对国际化的支持 |
2)Struts2对国际化的支持 |
3)Struts2处理关于国际化时的一些细节问题 |
详细内容:
主要用到的类文件 | |
java.util.Locale; | 对应与国家语言 |
java.util.ResourceBundle; | 资源包 |
java.text.MessageFormat; | 信息格式化 |
1)Java本省对国际化的支持
使用Java编写代码显示,Java支持的语言代码以及使用这些语言的国家代码
public static void main(String[] args) {
Locale[] locales = Locale.getAvailableLocales(); for ( Locale locale:locales){ // System.out.println(locale.getISO3Country() ); // System.out.println( locale.getDisplayVariant() ); // System.out.println(locale.getDisplayName()); // System.out.println( locale.getCountry() + " : " + locale.getLanguage() ); System.out.println( locale.getCountry()+ " : " + locale.getDisplayCountry() + " : " + locale.getLanguage() + " : " + locale.getDisplayLanguage()); } } |
Java的国际化
需要新建配置文件,文件名格式是固定的:
1.在src目中新建的配置文件名为:
2.在hello_en_US.properties文件中加入代码
3.在hello_zh_CN.properties文件中加入代码
4.建立带主函数的Java文件
5.加入可变参数 改变两个配置文件的内容:
在主函数中后面加入代码:
|
2)Struts2对国际化的支持
分为三种
页面显示的国际化 |
处理action级别提示错误的国际化 |
处理xml中field级别错误提示信息的国际化 |
页面显示的国家化
(1)修改sturts.xml文件 在sturts.xml文件中添加元素信息,这在以前的项目中已经有了
(2)建立配置文件,并且写入代码:
(3)修改Register2.jsp文件代码,添加
(4)打开IE,可以看到"添加用户信息"这个标题,如何更改IE的默认语言,
(5)另一种修改JSP页面的方法:
|
处理action级别信息,在Validate()中的国际化
在配置文件中添加key
this.addActionError( this.getText("username.empty") ); |
动态添加信息
List list = new ArrayList(); list.add( username ); this.addActionError( this.getText("username.empty",list) ); |
关于xml文件中处理field级别信息的国际化
在配置文件中增加key
在message元素中增加key属性 |
对于配置文件的优先级
在src根目录中建立的properties文件可以理解为全局配置文件, 在包中以"package"为baseName建立的properties文件为包配置文件 在包中以类名为baseName建立的properties文件为类配置文件 则,三种配置问件的优先级为: 作用范围越小,优先级越高
|