==============国际化=================
准备工作:
1,开启Struts2 的国际化功能
1:struts.properties 属性文件中配置
例如:struts.custom.i18n.resources=globalMessage
将该属性配置文件 放到 classpath 下
2:struts.xml 配置文件中, 进行常量的配置
该配置文件也在 classpath 路径下
2,配置消息资源文件
基本命名方式: baseName.properties
针对某一语言命名方式:baseName_语言码(小写)_国家码(大写).properties
3,在程序中直接访问消息资源文件,获取消息
-------------------------------------------------------
国际化:
1,JSP (全局消息资源文件, 临时消息资源文件)
2,Action (全局资源,包资源, Action局部资源)
====================================================
<一:>针对 Action :(全局资源文件, 包资源文件, Action对应的局部资源文件)
1,全局
2,包资源文件,与Action在同一个目录下 {package_baseName_[语言码]_[国家码].properties}
--说明:即对该包下的所有的 Action 都能适用。
文件名:package_baseName_[语言码]_[国家码].properties --例如:package_appmessage_zh_CN.properties
路径: 想给哪个包下的 Action 访问就放在哪个包下。 --例如:放在,com.haohui.action 包下,就会对该包下所有 Action适用
********************************************************************
只有当访问过 Action 之后,才会访问包资源下的资源文件中的信息
也就是说, 第一次访问 regist.jsp 时, 上面的国际化信息仍然是 全局消息资源文件上面的
当提交 一个Action 再返回 regist.jsp 时,这时才会发现页面上面的国际化消息是从包资源文件中
访问的。
3,Action 局部国家化资源文件
--说明:即共指定的 Action 访问的 国际化资源文件,该资源文件仅仅只对指定的那一个 Action 开放。
文件名:ActionName_baseName_[语言码]_[国家码].properties --例如:RegistAction_appmessage_zh_CN.properties
路径: 与想指定的 Action 在同一个目录下 --例如:
**********************************************************************
同 package 一样,也是必须要先访问过 Action 之后,才会促使其访问 局部消息资源文件的
<二:>针对 JSP (全局资源文件, 临时资源文件)
1,全局:即 class path 下的国际化消息资源文件
2,临时 国际化消息资源文件
--说明:只有第一次访问目标 JSP 页面时,临时国家化资源消息会有效
文件名:baseName_[语言码]_[国家码].properties --例如:tempmessage_zh_CN.properties
路径: 随便。 --例如:放在 temp 包下 (到时候使用的时候会用到)
在 JSP 中使用:
主要是通过 <s:i18n ../></i18n> 标签来访问。
例如:<s:i18n name="temp.tempmessage" >
<s:textfield name="username" key="username" /> //标签体中放,要访问临时消息资源的表单元素
</s:i18n>
============================================================================================================
国际化消息资源信息的访问
1,普通 JSP 页面中输出 :<s:text name="key"/>
通过 text 标签的 name 属性访问
2,Action 中访问 :getText("key") 方法;
3,标签中的 lable 显示的文本信息 :<s:textfield name="username" key="key" />
通过标签的 key 属性访问