bean:message标签用来从指定的locale中取回国际化的消息并输出,在这个过程中我们还可以传递五个以内的参数。message key可以通过key直接指定,也可以通过name和property间接的指定。
bean:message标签有两种指定message key的方式,一是通过key属性直接指定;二是通过name和property属性间接的指定,其中message key是在message resources文件中定义的。
我们可以在struts-config.xml文件中使用<message-resources>来设置message resources文件。
为了介绍该标签我使用了三个message resources文件,三个文件的名字分别为Resources.properties、Resources_en.properties和Resources_zh.properties。在struts-config.xml文件中的设置(这里不用设置三个,struts会依据locale自动找到对应的文件)如下:
<message-resources parameter="Resources" />
三个message resources文件中定义的message key为:
<!-- Resources.properties -->
resource=Resources.properties.
from=Resources.properties.
<!-- Resources_en.properties -->
from=Resources_en.properties.
<!-- Resources_zh.properties
from=Resources_zh.properties.
下面的代码片段示例了bean:message标签的用法:
<bean:message key="from"/><br/>
<bean:message key="resource"/><br/>
<html:link action="/locale?language=en">English</html:link>
<html:link action="/locale?language=zh">Chinese</html:link>
上面的代码中含有改变locale的两个html:link标签,要使它们工作您的struts-config.xml文件中必须含有下面定义的form和action:
<form-bean name="localeForm"
type="org.apache.struts.action.DynaActionForm">
<form-property name="language" type="java.lang.String" />
<form-property name="country" type="java.lang.String" />
<!--action成功后要跳到那里-->
<form-property name="page" type="java.lang.String"
initial="/message.jsp"/>
</form-bean>
<action path="/locale" type="org.apache.struts.actions.LocaleAction"
name="localeForm" scope="request">
</action>
在不同的locale下我们得到了如下的两个结果:
在locale为zh时的结果:
Resources_zh.properties.
Resources.properties.
在locale为en时的结果:
Resources_en.properties.
Resources.properties.
让我们来看一下在locale为zh时如何得到的是上面的结果。因为locale为zh所以<bean:message key="from"/><br/>先找Resources_zh.properties这个文件从中得到form键的值。而<bean:message key="resource"/><br/>也会先找Resources_zh.properties这个文件但这次没有找到resource键,这时Struts会到Resources.properties这个文件中找,很幸运这里找到了。如果还没有找到,或message resource文件不存在就会抛出异常。当locale为en时类似,可以自己试试。
分享到:
相关推荐
在Struts中,`struts-bean:message`标签是用于处理国际化(i18n)和本地化(l10n)的关键组件,它允许开发者在应用中方便地显示多语言支持的文本。这篇博客文章可能详细解释了如何使用`<bean:message>`标签来实现...
Struts Bean标签是Java Web开发中Struts框架的一部分,它主要用于简化页面上的Java对象操作,尤其是在JSP页面中。这个标签库提供了丰富的功能,包括显示和设置Bean中的属性,以及进行一些基本的数据转换和格式化。...
在Struts框架中,`<bean:message>` 标签主要用于显示国际化(I18N)消息。该标签允许开发者轻松地从资源文件中读取并显示预定义的消息文本,这对于创建多语言应用程序非常有用。 例如: ```xml <bean:message key=...
在Struts框架中,`struts.bean`标签库提供了一组JSP标签,这些标签简化了在视图层操作JavaBeans的过程,增强了代码的可读性和可维护性。下面我们将深入探讨`struts.bean`标签库及其主要使用的标签。 1. `bean:...
bean标签库是Struts提供的JSP标准标签库(JSTL)的一部分,主要用于管理JavaBean对象。JavaBean是一种符合JavaBeans规范的Java类,它通常用来封装业务逻辑或数据。bean标签可以帮助我们在JSP页面中创建、读取、更新...
`<bean:message>` 标签用于实现Struts框架中的国际化支持。该标签允许开发者轻松地实现应用程序的多语言支持,通过配置资源文件,可以在不同的语言环境中显示相应的文本消息。例如: ```jsp <bean:message key=...
### Struts 1 Bean 标签库详解 #### 概述 在Struts框架中,Bean标签库(Bean Tag Library)扮演着一个重要的角色。它主要用于处理与JavaBean相关的操作,比如创建、读取和更新JavaBean实例及其属性。根据官方文档及...
* bean:message:取回国际化消息,例如错误信息、提示信息等。 * bean:page:将一个 bean 绑定到 page 作用域中,以便其它标签可以使用该值。 * bean:parameter:取回请求参数的值,例如 GET 或 POST 请求的参数。 *...
在Bean标签库中,`<bean:copy>`和`<bean:message>`等标签也很重要。`<bean:copy>`用于复制Bean的属性,而`<bean:message>`则用于实现国际化,即根据用户的语言环境显示相应的消息。 此外,还有其他辅助标签,如`...
- **访问Web应用资源**:例如,`<bean:message>`用于显示资源文件中的信息,`<bean:resource>`加载Web资源到JavaBean,`<bean:struts>`访问Struts的内部配置对象,`<bean:include>`包含Web资源。 - **定义和输出...