`
alex_kon
  • 浏览: 46518 次
社区版块
存档分类
最新评论

Message Resource标签

 
阅读更多

Message Resources

 Message Resources是何物?

Message Resources消息资源是Strus框架定义的一组消息资源包,用来简化开发、支持国际化的,开发者可以自由的将页面TitleLabel NameError Message等显示信息定义在不同的资源文件中,然后在jspjava中调用并显示,在需要更改语言时,只要更改应用的配置就可以实现调用不通的资源文件从而实现国际化。

 

2         如何设置应用系统的Message Resources

       有两种方式在应用系统中定义Message Resources,由于Struts支持模块化,所以在项目各小组并行开发的时候,可以构建不通Message Resources,当然每个项目组成员也可以为自己模块、包定义不同的Message Resources

       1、基于web.xml的配置:

       配置文件如下:

     <servlet>

    <servlet-name>action</servlet-name>

    <servlet-class>com.leppard.cppf.CPMaster</servlet-class>

    <init-param>

      <param-name>config</param-name>

      <param-value>/WEB-INF/struts-config.xml</param-value>

    </init-param>

    <init-param>

      <param-name>config/systemmanager</param-name>

      <param-value>/WEB-INF/struts-config-systemframe.xml</param-value>

</init-param>

<init-param>

      <param-name>debug</param-name>

      <param-value>0</param-value>

    </init-param>

    <init-param>

      <param-name> application </param-name>

      <param-value>ApplicationResources</param-value>

    </init-param>

    <load-on-startup>1</load-on-startup>

  </servlet>

       这个web配置文件中定义了两个模块,一个是应用主模块config,一个是子模块config/systemmanager

参数application对应的是struts应用主模块的的资源配置文件,可以用“,”号隔开多个配置文件,如:

    <init-param>

      <param-name> application </param-name>

      <param-value>ApplicationResourcesApplicationResources2</param-value>

    </init-param>

 

资源配置文件格式如下:

    message.message=Missing message for key {0}

message.property=Property for message key must be a String

message.resources=Missing resources attribute {0}

page.selector=Invalid page context selector {0}

label.systemmanager.index.title=txshine

label.login.username=UserName

label.login.password=Password

 

另一种方法是在模块的配置文件/WEB-INF/struts-config.xml定义,如

<struts-config>

  <action-mappings>

    <action path="/exitAction" type="com.leppard.cppf.action.ExitAction">

      <forward name="exit" path="exit.jsp" redirect="true" />

    </action>

  </action-mappings>

  <message-resources key="myresource" parameter="resources.ApplicationResources_cn"/>

</struts-config>

Key是消息资源的模块名,parameter是消息资源的名称,resources.ApplicationResources_cn表示资源文件在WEB-INF/classes/resources目录下,文件名为ApplicationResources_cn

 

3         如何引用Message Resources

3.1     引用示例

<bean:message key="label.login.password"/>

<bean:message bundle="myresource/systemmanager" key="label.systemmanager.index.title"/>

<bean:message bundle="myresource" key="label.systemmanager.index.title"/>

jsp页面中引用Message Resources,首先要引入标签库

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

3.2     Message标签

message标签用来引用在Message Resources文件中定义的各种消息,message标签有以下几个属性:

       1Scrope属性,默认为PageContext.APPLICATION_SCOPE:范围见org.apache.struts.util. RequestUtils

        scopes.put("page", new Integer(PageContext.PAGE_SCOPE));  页面范围

        scopes.put("request", new Integer(PageContext.REQUEST_SCOPE)); 请求范围

        scopes.put("session", new Integer(PageContext.SESSION_SCOPE)); 会话范围

        scopes.put("application", new Integer(PageContext.APPLICATION_SCOPE)); 应用范围,资源配置文件中定义的message存在于整个应用中,所以在应用中的任何页面都可以引用到。

 

       2Local属性

       本地属性或语言属性

3name属性

名称,用来引用的Key

4Bundle

模块名

5arg[]

参数,传递给message消息的参数,动态定义的message,如

       page.selector=Invalid page context selector {0}

通过传入arg[0]=index,显示出

Invalid page context selector index

3.3     不同模块的引用

1、主模块web.xml中配置的消息资源,在应用时不需要加bundle

2、在主struts-config.xml主配置的消息资源,如果设定了资源的key属性,则在引用的时候需要指定bundle,如,

<message-resources key="myresource" parameter="resources.ApplicationResources_cn"/>

引用时

<bean:message bundle="myresource" key="label.systemmanager.index.title"/>

注意messagebundle和资源配置文件message-resources中的key一致

3、在子模块config/Sub

假设有在web.xml中指定了子模块如下:

    <init-param>

      <param-name>config/systemmanager</param-name>

      <param-value>/WEB-INF/struts-config-systemframe.xml</param-value>

</init-param>

/WEB-INF/struts-config-systemframe.xml中指定了资源文件

<message-resources key="subresource" parameter="resources.subApplicationResources_cn"/>

在引用时的bundle就应该是资源文件模块名+应用子模块名,如

<bean:message bundle=" subresource / systemframe " key="label.systemmanager.index.title"/>

分享到:
评论

相关推荐

    struts1标签库

    struts标签库 文章目录 bean:cookie 2 bean:define 3 bean:header 4 bean:include 5 bean:message 5 bean:page 7 bean:parameter 7 bean:resource 8 bean:size 8 bean:struts 9 bean:write 9 html:base 10 ...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    16.2.7、国际化与&lt;bean:message&gt;标签 16.3、Logic标签 16.3.1、标签和标签 16.3.2、标签和标签 16.3.3、关系运算标签 16.3.4、标签 16.3.5、重定向标签: 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 ...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    16.2.7、国际化与&lt;bean:message&gt;标签 16.3、Logic标签 16.3.1、标签和标签 16.3.2、标签和标签 16.3.3、关系运算标签 16.3.4、标签 16.3.5、重定向标签: 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 ...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    16.2.7、国际化与&lt;bean:message&gt;标签 16.3、Logic标签 16.3.1、标签和标签 16.3.2、标签和标签 16.3.3、关系运算标签 16.3.4、标签 16.3.5、重定向标签: 16.4、Html标签 16.4.1、标签 16.4.2、与...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    16.2.7、国际化与&lt;bean:message&gt;标签 16.3、Logic标签 16.3.1、标签和标签 16.3.2、标签和标签 16.3.3、关系运算标签 16.3.4、标签 16.3.5、重定向标签: 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 ...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    16.2.7、国际化与&lt;bean:message&gt;标签 16.3、Logic标签 16.3.1、标签和标签 16.3.2、标签和标签 16.3.3、关系运算标签 16.3.4、标签 16.3.5、重定向标签: 16.4、Html标签 16.4.1、&lt;html:form&gt;...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    16.2.7、国际化与&lt;bean:message&gt;标签 16.3、Logic标签 16.3.1、标签和标签 16.3.2、标签和标签 16.3.3、关系运算标签 16.3.4、标签 16.3.5、重定向标签: 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 ...

    李兴华Java Web开发实战经典(高清版) Part2

    16.2.7、国际化与&lt;bean:message&gt;标签 16.3、Logic标签 16.3.1、标签和标签 16.3.2、标签和标签 16.3.3、关系运算标签 16.3.4、标签 16.3.5、重定向标签: 16.4、Html标签 16.4.1、&lt;html:form&gt;...

    java web 视频、电子书、源码(李兴华老师出版)

    16.2.7、国际化与&lt;bean:message&gt;标签 16.3、Logic标签 16.3.1、标签和标签 16.3.2、标签和标签 16.3.3、关系运算标签 16.3.4、标签 16.3.5、重定向标签: 16.4、Html标签 16.4.1、标签 16.4.2、与...

    节点错误对象Fumble.zip

    Fumble 是简单的节点里的错误对象。专门为 fetchr 库创建,基于 hapi.js。示例代码:var fumble = require('fumble'); var callAndProcess = require('./callAndProcess');... 标签:Fumble Web框架

    HTTP协议详解

    5.2请求资源 (The Resource Identified by a Request) 5.3请求报头域 (Request Header Fields) 6 响应 (Response) 6.1 状态行 (Status-Line) 6.1.1状态码与原因短语 (Status Code and Reason Phrase) 7 ...

    Spring API

    2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文...

    spring chm文档

    4.7. Application context 和Resource 路径 4.7.1. 构造application context 4.7.2. Application context构造器中资源路径的通配符 4.7.3. FileSystemResource 提示 5. 校验,数据绑定,BeanWrapper,与属性编辑...

    Spring中文帮助文档

    2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文...

    Spring 2.0 开发参考手册

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring ...

    开源框架 Spring Gossip

    结合 JSTL &lt;spring:bind&gt; 标签 数据绑定的几个方法 &lt;spring:message&gt; 标签 &lt;spring:transform&gt; 标签 其它 View 层 除了 JSP View 层技术之外,您还可以使用其它的 View 层技术,或建立...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6 .3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 ...

    WCDMA协议与信令分析手册(经典)

    3.2.10 RESOURCE STATUS INDICATION消息 3-7 3.2.11 AUDIT RESPONSE消息 3-11 3.2.12 CELL SETUP REQUEST消息 3-15 3.2.13 COMMON TRANSPORT CHANNEL SETUP REQUEST消息 3-18 3.2.14 SYSTEM INFORMATION UPDATE ...

    UMTS无线接入网 协议与信令分析手册

    3.2.10 RESOURCE STATUS INDICATION消息 3-7 3.2.11 AUDIT RESPONSE消息 3-11 3.2.12 CELL SETUP REQUEST消息 3-15 3.2.13 COMMON TRANSPORT CHANNEL SETUP REQUEST消息 3-18 3.2.14 SYSTEM INFORMATION UPDATE ...

Global site tag (gtag.js) - Google Analytics