Java国际化基础 :http://blog.csdn.net/fanfan4569/article/details/52576000
(1)让系统加载国际化资源文件。加载的两种方式
①自动加载:Action范围的国际化资源文件、包范围的国际化资源文件由系统自动加载。
②手动加载:JSP范围的国际化资源文件、全局范围的国际化资源文件,分别使用标签、配置常量的方式来手动加载。
(2)输出国际化。输出的两种方式
①:在视图页面上输出过年话消息,需要使用Struts2的标签库。
②:在Action类中输出国际化消息,需要使用ActionSupport的getText()方法来完成。
一、视图页面国际化
主要使用Struts2的另一个标签 s: i18n
显示的页面:
二、Action 的国际化
比如之前使用的错误格式
要点:
①国际化资源文件的baseName与Action类的类名相同
②国际化资源文件的Action类的*.class文件保存在同一个路径下
消息传递可通过如下三种方式:
①JSP页面输出国际化消息,可以使用Struts标签 s:text ,name属性指定了国际化资源文件中的key
②表单元素的label中输出,指定一个key属性,该属性的值为国际化资源文件中的key
③Action类中访问国际化消息,可以使用ActionSupport类的getText()方法,该方法可以接受一个name参数
三、使用包范围的国际化资源
特点:包范围的国际化资源文件可以被该包下的所有Action使用。
四、使用全局国际化资源
全局国际化消息资源文件中只应该保存那些对整个应用都有效的全局消息,比如类型转换失败的通用提示信息、文件上传失败的提示信息。。。
五、输出带占位符的国际化消息
两种方式来填充消息字符串中的占位符:
①JSP中 通过再 s:text标签中使用多个 s:param
②在Action中填充国际化消息里的占位符,可以通过调用getText(String aTextName, List args)或getText(String key, String[]args)