Struts2学习——国际化

来源:互联网 发布:知米英语官网 编辑:程序博客网 时间:2024/04/30 23:05

 

==============国际化=================

准备工作:
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 属性访问

原创粉丝点击