读书人

Struts2中数据标签运用示例

发布时间: 2012-08-27 21:21:57 作者: rapoo

Struts2中数据标签使用示例
Struts2提供了大量丰富的标签供使用,它不再像Struts1中一样,将种类标签进行分门列别,但可以根据其使用的用途用以区别。本文通过对Struts2中数据标签的学习,来对Struts2中标签的学习起到一个抛砖引玉的作用。文中将介绍Action标签、Bean标签、Data标签、Include标签、Param标签、Set标签、Text标签、Property标签等标签。

代码下载:http://tlx5iw.bay.livefilestore.com/y1ps2Mjpc3NiLKuetMOpCsZOOypD6KSdo8-46Zy2wpoMcABeo4vOCNJXtWDEO93-TXgZogwAFYxSOni5BEG2EoN65OFwHdG71v-/Struts2DataTags.rar?download

一、<s:action>标签

Action标签,顾名思义,是用来调用Action的标签,在JSP中页面中,可以指向具体指定某一命名空间中的某一Action。而标签的主体用于显示及渲染Actionr的处理结果。

1.WebRoot\pages\dataTagssuccess.jsp处理页面



<%@ page contentType="text/html; charset=GBK" %>

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>

<head>

<title>Action Tag 示例</title>

</head>

<body>

<h2>Action Tag 示例</h2>

<s:action name="success">

<b><i>s:action标签用于在页面显示结果.</i></b></div>

</s:action>

</body>

</html>



这里使用<s:action>标签进行页面跳转,并用于显示处理的结果。

2.先来看struts.xml中的配置:



<action name="actionTag" %>

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>

<head>

<title>Bean Tag 示例</title>

</head>

<body>

<h2>Bean Tag 示例</h2>

<s:bean name="com.sterning.companyName" id="uid">

<s:param name="name">sterning</s:param>

<s:property value="%{name}" /><br>

</s:bean>

</body>

</html>



可参其关联的JavaBean是com.sterning.companyName,同时参数name赋值为sterning。

2.首先创建Action进行跳转, src\com\sterning\beanTag.java,代码如下:



package com.sterning;

import com.opensymphony.xwork2.ActionSupport;

public class beanTag extends ActionSupport {

public String execute() throws Exception{

return SUCCESS;

}

}



然后创建JavaBean,src\com\sterning\companyName.java,代码如下:



package com.sterning;

public class companyName {

private String name;

public void setName(String name){

this.name =name ;

}

public String getName(){

return name;

}

}



3.Struts.xml的配置

这里配置很简单,与前面的例子差不多。



<action name="beanTag" %>

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>

<head>

<title>Date Tag 示例</title>

</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 name="currentDate" format="dd/MM/yyyy" /></td>

</tr>

<tr>

<td>Month/Day/Year</td>

<td><s:date name="currentDate" format="MM/dd/yyyy" /></td>

</tr>

<tr>

<td>Month/Day/Year</td>

<td><s:date name="currentDate" format="MM/dd/yy" /></td>

</tr>

<tr>

<td>Month/Day/Year Hour<B>:</B>Minute</td>

<td><s:date name="currentDate" format="MM/dd/yy hh:mm" /></td>

</tr>

<tr>

<td>Month/Day/Year Hour<B>:</B>Minute<B>:</B>Second</td>

<td><s:date name="currentDate" format="MM/dd/yy hh:mm:ss" /></td>

</tr>

<tr>

<td>Nice Date (Current Date & Time)</td>

<td><s:date name="currentDate" nice="false" /></td>

</tr>

<tr>

<td>Nice Date</td>

<td><s:date name="currentDate" nice="true" /></td>

</tr>

</table>

</body>

</html>



2.src\com\sterning\beanTag.java

该项类更加简单,页面跳转



package com.sterning;

import com.opensymphony.xwork2.ActionSupport;

public class beanTag extends ActionSupport {

public String execute() throws Exception{

return SUCCESS;

}

}



3.Struts.xml配置



<action name="dateTag" %>

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>

<head>

<title>Include Tag 示例</title>

</head>

<body>

<h2>Include Tag 示例</h2>

<s:include value="myBirthday.jsp" />

</body>

</html>



这里包含了另外一个页面myBirthday.jsp,其实相当于在JSP页面里包含其它的页面。原理一样的。

2.WebRoot\pages\dataTags\myBirthday.jsp

这个页面利用了上面所讲的<s:date>标签进行日期的格式化输出



<%@ page contentType="text/html; charset=GBK" %>

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>

<head>

<title>Include Tag 示例</title>

</head>

<body>

<table border="1" width="35%">

<tr>

<td><b>Date Format</b></td>

<td><b>Date</b></td>

</tr>

<tr>

<td>Day/Month/Year</td>

<td><s:date name="myBirthday" format="dd/MM/yyyy" /></td>

</tr>

<tr>

<td>Month/Day/Year</td>

<td><s:date name="myBirthday" format="MM/dd/yyyy" /></td>

</tr>

<tr>

<td>Month/Day/Year</td>

<td><s:date name="myBirthday" format="MM/dd/yy" /></td>

</tr>

<tr>

<td>Month/Day/Year Hour<B>:</B>Minute</td>

<td><s:date name="myBirthday" format="MM/dd/yy hh:mm" /></td>

</tr>

<tr>

<td>Month/Day/Year Hour<B>:</B>Minute<B>:</B>Second</td>

<td><s:date name="myBirthday" format="MM/dd/yy hh:mm:ss" /></td>

</tr>

<tr>

<td>Nice Date (Current Date & Time)</td>

<td><s:date name="myBirthday" nice="false" /></td>

</tr>

</table>

</body>

</html>



3.Struts.xml配置



<action name="includeTag" %>

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>

<head>

<title>Param Tag 示例</title>

</head>

<body>

<h2>Param Tag 示例</h2>

<ui:component>

<ui:param name="empname">Emp1</ui:param><br>

<ui:param name="empname">Emp2</ui:param><br>

<ui:param name="empname">Emp3</ui:param>

</ui:component>

</body>

</html>



2.Struts.xml配置



<action name="paramTag">

<result>/pages/dataTags/paramTag.jsp</result>

</action>



3.运行效果


图5.<s:param>标签

六、<s:set>标签

Set标签比较简单。Set标签用户将某一值赋给某一变量,因此,任何对该项值的引用都可以通过该变量来得到该值。该变量的活动范围可自定义。如下例中,定义一健/值对,对值的引用,直接引用值就可以。。请看示例

1.WebRoot\pages\dataTags\ setTag.jsp



<%@ page contentType="text/html; charset=GBK" %>

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>

<head>

<title>Set Tag 示例</title>

</head>

<body>

<h2>Set Tag 示例</h2>

<s:set name="technologyName" value="%{'Java'}"/>

Technology Name: <s:property value="#technologyName"/>

</body>

</html>



2.Struts.xml配置



<action name="setTag">

<result>/pages/dataTags/setTag.jsp</result>

</action>



3.运行效果


图6.<s:set>标签

七、<s:property>标签

Property顾名思义,可以与<s:bean>标签结合使用,一个是给bean赋值,一个是从bean中读取值。直接来看示例:

1.WebRoot\pages\dataTags\propertyTag.jsp



<%@ page contentType="text/html; charset=GBK" %>

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>

<head>

<title>Property Tag 示例</title>

</head>

<body>

<h2>Property Tag 示例</h2>

<!-- Example to pick the value through bean class -->

<s:bean name="com.sterning.companyName" id="uid">

<s:param name="name">sterning</s:param>

<s:property value="%{name}" /><br>

</s:bean>

<!-- Default value -->

<s:property value="name" default="Default Value" />

</body>

</html>



2.Bean

当然这里用到了Bean. com\sterning\ companyName.java,代码如下:



package com.sterning;

public class companyName {

private String name;

public void setName(String name){

this.name =name ;

}

public String getName(){

return name;

}

}



3.src"com"sterning" propertyTag.java

进行页面跳转



package com.sterning;

import com.opensymphony.xwork2.ActionSupport;

public class propertyTag extends ActionSupport {

public String execute() throws Exception{

return SUCCESS;

}

}



4.Struts.xml配置



<action name="propertyTag" class="com.sterning.propertyTag">

<result>/pages/dataTags/propertyTag.jsp</result>

</action>



5.运行效果


图7.<s:property>标签

读书人网 >Web前端

热点推荐