struts2标签使用实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Struts2中数据标签使用示例
S truts2提供了大量丰富的标签供使用,它不再像S truts1中一样,将种类标签进行分门列别,但可以根据其使用的用途用以区别。

本文通过对S truts2中数据标签的学习,来对S truts2中标签的学习起到一个抛砖引玉的作用。

文中将介绍Action标签、Bean标签、Data标签、Include标签、P aram标签、Set标签、T ext标签、P roperty 标签等标签。

代码下载:/y1ps2Mjpc3NiLKuetMOpCsZOOypD6KSdo8-46Zy2wpoMcABeo4vOC NJXtWDEO93-TXgZogwAF YxSOni5BEG2EoN65OFwHdG71v-/St ruts2DataTags.rar?download
一、<s:action>标签
Action标签,顾名思义,是用来调用Action的标签,在JSP中页面中,可以指向具体指定某一命名空间中的某一Action。

而标签的主体用于显示及渲染Actionr的处理结果。

1.WebRoot\pages\dataTagssuccess.jsp处理页面
<%@ page contentType="text/htm l; charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<ht m l>
<head>
<title>Action Tag 示例</title>
</head>
<body>
<h2>Action Tag 示例</h2>
<s:action nam e="success">
<b><i>s:action标签用于在页面显示结果.</i></b></div>
</s:action>
</body>
</html>
这里使用<s:action>标签进行页面跳转,并用于显示处理的结果。

2.先来看st ruts.xml中的配置:
<action nam e="actionTag" class="com.sterning.actionTag">
<result nam e="success">/pages/dataTags/success.jsp</result> </action>
3.接着创建actionTag类:代码如下:
package com.sterning;
im port com.opensym phony.xwork2.ActionSupport; publicclass actionTag ex tends ActionSupport { public String execute() throws Ex ception{
returnSUCCESS;
}
}
其实该类中没有做任何处理,只是进行页面跳转而已。

4.运行效果。

图1.<s:action>标签
二、<s:bean>标签
Bean标签,当然需要一个JavaBean。

其的属性值的操作是经由Bean标签中的参数属性来进行赋值。

当然,它还有一个id属性可以进行赋值,由于就可以在上下文中使用这个Bean。

请看如下的页面:
1.WebRoot\pages\dataTags\beanT ag.jsp,代码如下:
<%@ page contentType="text/htm l; charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<ht m l>
<head>
<title>Bean Tag 示例</ti tle>
</head>
<body>
<h2>Bean Tag 示例</h2>
<s:bean nam e=" panyNam e"id="uid">
<s:param nam e="nam e">sterning</s:param>
<s:property value="%{nam e}"/><br>
</s:bean>
</body>
</html>
可参其关联的JavaBean是panyName,同时参数name赋值为st erning。

2.首先创建Action进行跳转,src\com\st erning\beanTag.java,代码如下:
package com.sterning;
im port com.opensym phony.xwork2.ActionSupport;
public class beanTag ex tends ActionSupport {
public String execute() throws Ex ception{
return SUCCESS;
}
}
然后创建JavaBean,src\com\st erning\companyName.java,代码如下:package com.sterning;
public class com panyNam e {
private String nam e;
public void setNam e(String nam e){
this.nam e =nam e ;
}
public String getNam e(){
return nam e;
}
}
3.Struts.xml的配置
这里配置很简单,与前面的例子差不多。

<action nam e="beanTag" class="com.sterning.beanTag">
<result nam e="success">/pages/dataTags/beanTag.jsp</resul t>
</action>
4.运行效果
图2.<s:bean>标签
三、<s:date>标签
Dat a标签方便在页面进行格式化的日期输出。

格式有多种可供选择。

同时,还可以通过在properties属性文件中定义好”struts.date.format”参数的值,从而自定义格式输出。

Dat e标签包含三个属性,可以从下面的代码中感受一下,分别是:
●Name:
●Nice
●Format
1.WebRoot\pages\dataTags\dat eT ag.jsp
<%@ page contentType="text/htm l; charset=GBK" %> <%@ taglib prefix="s" uri="/struts-tags" %>
<ht m l>
<head>
<title>Date Tag 示例</ti tle>
</head>
<body>
<h2>显示当前的时间</h2>
<table border="1"width="35%">
<tr>
<td><b>日期格式</b></td>
<td><b>日期</b></td>
</tr>
<tr>
<td>Day/Month/Year</td>
<td><s:date nam e="currentDate"form at="dd/ MM/yyyy"/></td>
</tr>
<tr>
<td>Month/Day/Year</td>
<td><s:date nam e="currentDate"form at="MM/ dd/yyyy"/></td>
</tr>
<tr>
<td>Month/Day/Year</td>
<td><s:date nam e="currentDate"form at="MM/ dd/yy"/></td>
</tr>
<tr>
<td>Month/Day/Year Hour<B>:</B>Minute</t d>
<td><s:date nam e="currentDate"form at="MM/ dd/yy hh:m m"/></td>
</tr>
<tr>
<td>Month/Day/Year Hour<B>:</B>Minute< B>:</B>Second</td>
<td><s:date nam e="currentDate"form at="MM/ dd/yy hh:m m:ss"/></td>
</tr>
<tr>
<td>Nice Date (Current Date & Tim e)</td>
<td><s:date nam e="currentDate"nice="false" /></td>
</tr>
<tr>
<td>Nice Date</td>
<td><s:date nam e="currentDate"nice="true"
/></td>
</tr>
</table>
</body>
</html>
2.src\com\st erning\beanTag.java
该项类更加简单,页面跳转
package com.sterning;
im port com.opensym phony.xwork2.ActionSupport;
public class beanTag ex tends ActionSupport { public String execute() throws Ex ception{
return SUCCESS;
}
}
3.Struts.xml配置
<action nam e="date Tag" cl ass="com.sterning.date Tag">
<result>/pages/dataTags/date Tag.jsp</result> </action>
4.运行效果
图3.<s:dat e>标签
四、<s:include>标签
<s:include>标签用于在当前页面中包含来自其它servlet或JSP页面的处理结果。

由于是页面与页面(或servlet)之间的页面包含,因此不需要action来进行页面的跳转。

1.WebRoot\pages\dataTags\include Tag.jsp
<%@ page contentType="text/htm l; charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<ht m l>
<head>
<title>Include Tag 示例</ti tle>
</head>
<body>
<h2>Include Tag 示例</h2>
<s:include value="m yBirthday.jsp"/>
</body>
</html>
这里包含了另外一个页面myBirthday.jsp,其实相当于在JSP页面里包含其它的页面。

原理一样的。

2.WebRoot\pages\dataTags\myBirthday.jsp
这个页面利用了上面所讲的<s:date>标签进行日期的格式化输出
<%@ page contentType="text/htm l; charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<ht m l>
<head>
<title>Include Tag 示例</ti tle>
</head>
<body>
<table border="1"width="35%">
<tr>
<td><b>Date Form at</b></td>
<td><b>Date</b></td>
</tr>
<tr>
<td>Day/Month/Year</td>
<td><s:date nam e="m yBirthday"form at="dd/M M/yyyy"/></td>
</tr>
<tr>
<td>Month/Day/Year</td>
<td><s:date nam e="m yBirthday"form at="MM/ dd/yyyy"/></td>
</tr>
<tr>
<td>Month/Day/Year</td>
<td><s:date nam e="m yBirthday"form at="MM/ dd/yy"/></td>
</tr>
<tr>
<td>Month/Day/Year Hour<B>:</B>Minute</t d>
<td><s:date nam e="m yBirthday"form at="MM/ dd/yy hh:m m"/></td>
</tr>
<tr>
<td>Month/Day/Year Hour<B>:</B>Minute< B>:</B>Second</td>
<td><s:date nam e="m yBirthday"form at="MM/ dd/yy hh:m m:ss"/></td>
</tr>
<tr>
<td>Nice Date (Current Date & Tim e)</td>
<td><s:date nam e="m yBirthday"nice="false" /></td>
</tr>
</table>
</body>
</html>
3.Struts.xml配置
<action nam e="include Tag" cl ass="com.sterning.include Tag">
<result>/pages/dataTags/include Tag.jsp</result> </action>
4.运行效果
图4.<s:include>标签
五、<s:param>标签
Param标签用于传递参数,如给<s:bean>标签传递参数。

它有如下两个属性:
●Name(St ring):参数名;
●Value(Object):参数值。

1.WebRoot\pages\dataTags\paramTag.jsp
<%@ page contentType="text/htm l; charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<ht m l>
<head>
<title>Param Tag 示例</ti tle>
</head>
<body>
<h2>Param Tag 示例</h2>
<ui:com ponent>
<ui:param nam e="em pnam e">Em p1</ui:param><br>
<ui:param nam e="em pnam e">Em p2</ui:param><br>
<ui:param nam e="em pnam e">Em p3</ui:param>
</ui:com ponent>
</body>
</html>
2.Struts.xml配置
<action nam e="param Tag">
<result>/pages/dataTags/param Tag.jsp</result> </action>
3.运行效果
图5.<s:param>标签
六、<s:set>标签
Set标签比较简单。

Set标签用户将某一值赋给某一变量,因此,任何对该项值的引用都可以通过该变量来得到该值。

该变量的活动范围可自定义。

如下例中,定义一健/值对,对值的引用,直接引用值就可以。

请看示例1.WebRoot\pages\dataTags\ setT ag.jsp
<%@ page contentType="text/htm l; charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<ht m l>
<head>
<title>Set Tag 示例</title>
</head>
<body>
<h2>Set Tag 示例</h2>
<s:set nam e="technologyNam e"value="%{'Java'}"/>
Technology Nam e: <s:property value="#technologyNa m e"/>
</body>
</html>
2.Struts.xml配置
<action nam e="setTag">
<result>/pages/dataTags/setTag.jsp</result>
</action>
3.运行效果
图6.<s:set>标签
七、<s:property>标签
Propert y顾名思义,可以与<s:bean>标签结合使用,一个是给bean赋值,一个是从bean中读取值。

直接来看示例:
1.WebRoot\pages\dataTags\propert yT ag.jsp
<%@ page contentType="text/htm l; charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<ht m l>
<head>
<title>Property Tag 示例</ti tle>
</head>
<body>
<h2>Property Tag 示例</h2>
<!-- Exam ple to pi ck the value through bean cl ass -->
<s:bean nam e=" panyNam e"id="uid">
<s:param nam e="nam e">sterning</s:param>
<s:property value="%{nam e}"/><br>
</s:bean>
<!-- Default value -->
<s:property value="nam e"defaul t="Default V alu
e"/>
</body>
</html>
2.Bean
当然这里用到了Bean. com\st erning\ companyName.java,代码如下:package com.sterning;
public class com panyNam e {
private String nam e;
public void setNam e(String nam e){
this.nam e =nam e ;
}
public String getNam e(){
return nam e;
}
}
3.src"com"st erning" propert yT ag.java
进行页面跳转
package com.sterning;
im port com.opensym phony.xwork2.ActionSupport; public class propertyTag ex tends ActionSupport { public String execute() throws Ex ception{
return SUCCESS;
}
}
4.Struts.xml配置
<action nam e="propertyTag" class="com.sterning.propertyTag"> <result>/pages/dataTags/propertyTag.jsp</result> </action>
5.运行效果
图7.<s:propert y>标签。

相关文档
最新文档