Struts2.X标签(一)

 

 

要想使用 struts2 标签,必须在 jsp 页面中引入标记

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

Struts2 的标签与 struts1 有很大的不同

Struts1 将标志库按功能分成 HTML Tiles Logic Bean 等几部分 , 且不支持嵌入语言( EL )。

Struts2 把所有的标签都归于 URI “/struts-tags” 命名空间下,从功能上将其分为两大类:通用标志和 UI 标志。

官网 taglib URL http://struts.apache.org/2.x/docs/tag-reference.html

通用标签(控制类)

·   If elseif else

<s:if test= "exp1" >

    <div> exp1 返回 true ,则显示,否则不显示 </div>

</s:if>

<s:elseif test= "exp2" >

    <div> exp1 返回 false 前提下, exp2 返回 true ,则显示,否则不显示 </div>

</s:elseif>

<s:else>

    <div> exp2 exp1 都返回 false 时显示 </div>

</s:else>

 

名称

必需

默认

类型

描述

备注

test

 

Boolean

决定标志里内容是否显示的表达式

else 标志没有这个参数

id

 

String

标识

或者是var

 

·   append generator iterator merge subset

Append :往 iterator 迭代器中添加项

<s:append var= "myAppendIterator" >

     <s:param value= "%{myList1}" />

     <s:param value= "%{myList2}" />

     <s:param value= "%{myList3}" />

</s:append>

<s:iterator value= "%{#myAppendIterator}" >

     <s:property />

</s:iterator>

 

generator iterator 迭代器的生成器

1 :生成 iterator 并打印 iterator 中的值

<s:generator val= "%{'aaa,bbb,ccc,ddd,eee'}" >

  <s:iterator>

     <s:property /><br/>

  </s:iterator>

</s:generator>

 

2 :生成一个带记数的 iterator ,超出记数的部分将被忽略,如“ ddd,eee

<s:generator val= "%{'aaa,bbb,ccc,ddd,eee'}" count= "3" >

  <s:iterator>

     <s:property /><br/>

  </s:iterator>

</s:generator>

 

3 :生成带标识的 iterator 生成的对象放在 pageContext 中,可通过 标识 来访问

<s:generator val= "%{'aaa,bbb,ccc,ddd,eee'}" count= "4" separator= "," var= "myAtt" />

<%

  Iterator i = (Iterator) pageContext.getAttribute("myAtt" );

  while(i.hasNext()) {

     String s = (String) i.next(); %>

     <%=s%> <br/>

<%    }

%>

 

4 生成 iterator ,使用 converter 属性,将每一个对象添加了一个 "converter-" 前缀。

<s:generator val= "%{'aaa,bbb,ccc,ddd,eee'}" converter= "%{myConverter}" >

  <s:iterator>

     <s:property /><br/>

  </s:iterator>

</s:generator>

public class GeneratorTagAction extends ActionSupport {

  ....

  public Converter getMyConverter() {

     return new Converter() {

         public Object convert(String value) throws Exception {

             return "converter-" +value;

         }

     };

    }

  ...

}

名称

必需

默认

类型

描述

备注

converter

 

org.apache.struts2.util.IteratorGenerator.Converter

额外操作

 

count

 

Integer

数量

 

id

 

String

标识

 

separator

 

String

两值的分割

 

val

 

String

 

Iterator: 迭代器

<s:bean name= "org.apache.struts2.example.IteratorExample" var= "it" >

  <s:param name= "day" value= "'foo'" />

  <s:param name= "day" value= "'bar'" />

</s:bean>

<p/>

<table border= "0" cellspacing= "0" cellpadding= "1" >

<tr>

  <th> Days of the week</th>

</tr>

<p/>

<s:iterator value= "#it.days" status= "rowstatus" >

  <tr>

    <s:if test= "#rowstatus.odd == true" >

      <td style= "background: grey" ><s:property/></td>

    </s:if>

    <s:else>

      <td><s:property/></td>

    </s:else>

  </tr>

</s:iterator>

</table>

名称

必需

默认

类型

描述

备注

id

 

String

标识

 

status

false

Boolean

决定是否使用子项的标识变量

 

value

 

String

引用的变量

 

Merge :和 apand 功能类似

<s:merge var= "myMergedIterator1" >

     <s:param value= "%{myList1}" />

     <s:param value= "%{myList2}" />

     <s:param value= "%{myList3}" />

</s:merge>

<s:iterator value= "%{#myMergedIterator1}" >

     <s:property />

</s:iterator>

Sort: iterator 中的项排序

用法 1:

<s:sort comparator= "myComparator" source= "myList" >

     <s:iterator>

     <!-- do something with each sorted elements -->

     <s:property value= "..." />

     </s:iterator>

</s:sort>

 

用法 2:

<s:sort var= "mySortedList" comparator= "myComparator" source= "myList" />

名称

必需

默认

类型

描述

备注

id

 

String

标识

 

Comparator

 

ava.util.Comparator

排序用的比较器

 

Source

 

String

排序对象标识

 

Subset iterator 的子项

<!-- s: List basic -->

   <s:subset source= "myList" >

      <s:iterator>

         <s:property />

      </s:iterator>

   </s:subset>

<!-- B: List with count -->

   <s:subset source= "myList" count= "3" >

      <s:iterator>

          <s:property />

      </s:iterator>

    </s:subset>

<!--  C: List with start -->

     <s:subset source= "myList" count= "13" start= "3" >

        <s:iterator>

          <s:property />

        </s:iterator>

     </s:subset>

<!--  D: List with var -->

     <s:subset var= "mySubset" source= "myList" count= "13" start= "3" />

     <%

         Iterator i = (Iterator) pageContext.getAttribute("mySubset" );

         while(i.hasNext()) {

     %>

     <%=i.next() %>

     <%  } %>

<!--  D: List with Decider -->

    <s:subset source= "myList" decider= "myDecider" >

           <s:iterator>

                <s:property />

           </s:iterator>

    </s:subset>

 

名称

必需

默认

类型

描述

备注

id

 

String

标识

 

count

 

Integer

子集的子项的个数

 

Source

 

String

iterator 对象标识

 

start

 

Integer

从该个开始取子集

 

decider

 

org.apache.struts2.util.SubsetIteratorFilter.Decider

用作取 iterator 子集 的操作器

 

 

未完待继

通用标签(数据类)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值