⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bean-message.jsp

📁 Spring +Web 的完整 MyEclipse 项目源码,使用者可以作为入门材料可以在此基础上深入学习
💻 JSP
字号:
<%@ page contentType="text/html;charset=GB2312" import="java.util.*,org.apache.struts.webapp.exercise.*"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<html>
<head>
<html:base/>
<title>&lt;bean:message&gt;</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body bgcolor="white">

<h1>&lt;bean:message&gt;</h1>

<p>&lt;bean:message&gt;用来显示资源文件中的消息文本。该标签有一个bundle属性,它和struts-config.xml文件中message-resources
标记内的key属性相对应。例如,在taglib1应用的struts-config.xml文件中有以下代码:</p>
<font class="CodeStyle">
&lt;message-resources parameter="message2" key="beanmessage"/&gt;
</font>
<p>当用户希望使用这个资源文件中的消息文本时,只需要将&lt;bean:message&gt;标记的bundle设为"beanmessage"就可以了。下面是
message2的资源文件中的内容:</p>

<font class="CodeStyle">
beanmessage1=This is bean message No.1
beanmessage2=This is bean message No.2
beanmessage3=This is bean message with arg,{0}.
</font>

<p>使用&lt;bean:message&gt;标记从资源文件中指定消息文本有以下三种方式:</p>

<p>第一种,直接在&lt;bean:message&gt;标记中使用key属性指定对应的资源文件中的消息文本。例如,若要显示key=beanmessage1的
消息文本,可以使用下面的语句:</p>
<font class="CodeStyle">
&lt;bean:message bundle="beanmessage" key="beanmessage1"/&gt;
</font>
<p>以下是实际效果:</p>
<bean:message bundle="beanmessage" key="beanmessage1"/>

<p>第二种,使用&lt;bean:message&gt;标记的name属性指定一个字符串类型的变量,以该变量的值作为消息文本的key值。示例代码如下:
</p>
<font class="CodeStyle">
&lt;%<br>
&nbsp;&nbsp;&nbsp;&nbsp;String test = "beanmessage1";<br>
&nbsp;&nbsp;&nbsp;&nbsp;pageContext.setAttribute("messagekey",test);<br>
%&gt;<br>
&lt;bean:message bundle="beanmessage" name="messagekey"/&gt;<br>
</font>

<p>上面的代码首先定义了一个字符串,该串就是资源文件内消息文本的key值,然后将之存储于pageContext对象内,并命名为messagekey,
再由标记的name属性指定pageContext对象内的messagekey。以下是运行效果,可以看到,依然能读出key为beanmessage1的消息文本。</p>
<%
	String test = "beanmessage1";
	pageContext.setAttribute("messagekey",test);
%>
<bean:message bundle="beanmessage" name="messagekey"/>

<p>第三种方法是使用一个已经存在的JavaBean对象名做为name属性的值,再将其中某个属性做为property属性的值,以该JavaBean对象中
的这一属性所存入的字符串值作为消息文本的key。示例代码如下所示:</p>
<font class="CodeStyle">
&lt;%<br>
&nbsp;&nbsp;&nbsp;&nbsp;TestPageBean bean1 = new TestPageBean("beanmessage1","empty");<br>
&nbsp;&nbsp;&nbsp;&nbsp;pageContext.setAttribute("testbean",bean1);<br>
%&gt;<br>
&lt;bean:message bundle="beanmessage" name="testbean" property="name"/&gt;<br>
</font>

<p>在上面的代码中首先初始化了一个TestPageBean类型的对象bean1,这个bean1有两个属性,一个是name属性,一个是value属性,都是字符串
类型,在构造函数中已经分别为其初始化了,其中,将name属性的值设为beanmessage1,也就是消息文本的key值。然后,将这个bean1存入
pageContext对象中,命名为testbean。在&lt;bean:message&gt;标记中name属性指定了pageContext对象内的testbean,property属性指定
了这个testbean的name属性。运行结果如下,可以看到,依然能从资源文件中读出相应的消息文本。</p>

<%
	TestPageBean bean1 = new TestPageBean("beanmessage1","empty");
	pageContext.setAttribute("testbean",bean1);
%>
<bean:message bundle="beanmessage" name="testbean" property="name"/>

<p>有些时候,资源文件中的消息文本带有一些参数,如下面的形式:</p>
<font class="CodeStyle">
beanmessage3=This is bean message with arg,{0}.
</font>

<p>可以使用&lt;bean:message&gt;标记的arg0等属性来指定参数的值。比如arg0代表第一个参数,arg1代表第二个参数,依此类推,一直到
arg4。以下是代码示例:</p>
<font class="CodeStyle">
&lt;bean:message bundle="beanmessage" key="beanmessage3" arg0="HELLOWORLD"/&gt;
</font>

<p>运行效果如下所示:</p>
<bean:message bundle="beanmessage" key="beanmessage3" arg0="HELLOWORLD"/>


<p>

<a href="index.jsp">返回主页面</a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -