Struts2 iterator標籤:疊代資料的標籤

2020-07-16 10:04:57
iterator 標籤是 Struts2 提供的一個疊代資料的標籤,它可以根據回圈條件,遍歷陣列和集合類中的所有或部分資料。如通過 iterator 標籤疊代一個集合或者陣列,可以疊代出集合或陣列的所有資料,也可以指定迭代資料的起始位置、步長以及終止位置來迭代集合或陣列中的部分資料。

語法:

<s:iterator value="集合元素" id="ID號" status="範例名稱">
  <s:property/><br>
</s:iterator>

引數說明:
  • value:是一個可選的屬性,value 用於指定被疊代的集合,被疊代的集合通常都使用 OGNL 表示式指定。如果沒有指定 value 屬性,則使用 ValueStack 棧頂的集合。
  • id:是一個可選的屬性,主要指定集合中元素的 ID。
  • status:是一個可選屬性,該屬性是用於指定迭代時 IteratorStatus 範例,通過這一範例就可以判斷當前疊代元素的屬性。

範例

本範例應用 <s:iterator> 標籤疊代集合中的資訊,在此頁面中迭代圖書資訊並將其顯示,關鍵程式碼如下:
<body>
  <table align="center" width="450" border="1">
    <tr>
      <td align="center" colspan="5">
        <h2>所有圖書資訊</h2>
      </td>
    </tr>
    <tr align="center">
      <td><b>ID</b></td>
      <td><b>圖書名稱</b></td>
      <td><b>價格</b></td>
      <td><b>作者</b></td>
    </tr>
    <s:iterator value="list" var="book" status="st">
      <s:if test="#st.even">
        <tr align="center" bgcolor="#f0f0f0">
      </s:if>
      <s:elseif test="#st.odd">
        <tr align="center">
      </s:elseif>
      <td>
        <s:property value="#book.id"/>
      </td>
      <td>
        <s:property value="#book.name"/>
      </td>
      <td>
        <s:property value="#book.price"/>
      </td>
      <td>
        <s:property value="#book.author"/>
      </td>
      </tr>
    </s:iterator>
  </table>
</body>