-------------Struts2的国际化-----------------
程序国际化
程序可以根据及其所在国家的语言环境,自动显示当前国家的语言内容。
国际化的本质是:根据国际化资源 查找、替换
国际化步骤:
1.为不同的国家、语言环境提供资源包
如果你的国际化语言资源包中有非西欧字符,要使用JDK 中的native2ascii处理文件
格式为:native2ascii 名称 生成文件名称
2.在程序中输出国际化消息的key。
strut2的国际化:
1.支持模块国际化加载
2.Struts2 支持自动加载国际化资源(Struts1中须手动加载并读取)
1.jsp页面的国际化:
a:需要手动加载国际化消息
页面必须包含在<s:i18n name=""></s>中
b:在页面中使用<s:text name="" />根据name来输出国际化消息
如果是在表单标签则直接使用 key属性来实现国际化。
2.Action的国际化
a:自动加载国际化消息
让国际化消息的baseName与Action的类名相同,而且必须 放 同一目录下
让国际化消息的baseName与Action的类名相同,而且必须 放 同一目录下
b:在Action类中调用getText()方法来加载国际化消息
上图为Action需要的国际化英文资源
succTip为对应的key值
{0}和{1}为占位符 获取在Action中的对应UserName和 UserPass
上图为Action需要的国际化英文资源
succTip为对应的key值
{0}和{1}为占位符 获取在Action中的对应UserName和 UserPass
3.包范围的国际化:
a:自动加载国际化
让国际化消息的baseName为package(不是与包名相同),而且放在该包的目录下
----可以让该包下的所有Action共享同一个国际化资源
b:在Action类中调用getText()方法来加载国际化资源
4.全局国际化资源
a:通过一个struts.custom.i18n.resources常量来加载国际化资源
在struts.xml中配置<constant name="struts.custom.i18n.resources" value="resoures/mess"/>
b:全局国际化资源文件,即可呗Action访问,也可以被JSP页面访问
全局的资源文件尽量少用,项目修改麻烦。
/*****************
Action接口与ActionSupport实现类:
ActionSuppert实现Action接口而且增加了输入校验和国际化支持等功能。
******************/