struts数据标签的使用

Struts2中数据标签使用示例

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


    一、
<s:action>标签

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

1WebRoot\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" class="com.sterning.actionTag">

           <result name="success">/pages/dataTags/success.jsp</result>

       </action>

3 .接着创建 actionTag 类:代码如下:

public class actionTag extends ActionSupport {

    public String execute() throws Exception{

       return SUCCESS;

    }

}

其实该类中没有做任何处理,只是进行页面跳转而已。

4.运行效果。


二、<s:bean>标签

Bean标签,当然需要一个JavaBean。其的属性值的操作是经由Bean标签中的参数属性来进行赋值。当然,它还有一个id属性可以进行赋值,由于就可以在上下文中使用这个Bean。请看如下的页面:

1WebRoot\pages\dataTags\beanTag.jsp,代码如下:

 

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

<%@ 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>

可参其关联的JavaBeancom.sterning.companyName,同时参数name赋值为sterning

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

import com.opensymphony.xwork2.ActionSupport;

public class beanTag extends ActionSupport {

       public String execute() throws Exception{

              return SUCCESS;

       }

}

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

public class companyName {

       private String name;

       public void setName(String name){

              this.name =name ;

       }

       public String getName(){

              return name;

       }

}

3Struts.xml的配置

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

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

                     <result name="success">/pages/dataTags/beanTag.jsp</result>
              </action>


三、<s:date>标签

Data标签方便在页面进行格式化的日期输出。格式有多种可供选择。同时,还可以通过在properties属性文件中定义好”struts.date.format”参数的值,从而自定义格式输出。

Date标签包含三个属性,可以从下面的代码中感受一下,分别是:

l         Name:

l         Nice

l         Format

1WebRoot\pages\dataTags\dateTag.jsp

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

<%@ 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>

2src\com\sterning\beanTag.java

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

public class beanTag extends ActionSupport {

       public String execute() throws Exception{

              return SUCCESS;

       }

}

3 Struts.xml 配置

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

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

              </action>


四、<s:param>标签

Param标签用于传递参数,如给<s:bean>标签传递参数。它有如下两个属性:

l         Name(String):参数名;

l         Value(Object):参数值。

1WebRoot\pages\dataTags\paramTag.jsp

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

<%@ 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>


五、<s:set>标签

   当某个值的对象图深度非常深时,例如有如下的值:person.worker.wife.parent.age,每次访问该值不仅性能低下,而且代码可读性也差,为了避免这个问题,我们可以讲该值设置成一个新值,并放入特定的范围内。

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

1WebRoot\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>


六、<s:property>标签

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

1WebRoot\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>

2Bean

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

public class companyName {

       private String name;

       public void setName(String name){

              this.name =name ;

       }

       public String getName(){

              return name;

       }

}

3src"com"sterning" propertyTag.java

进行页面跳转

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>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值