struts2標籤遍歷各種形式資料集合
阿新 • • 發佈:2019-02-02
在類中定義的集合型別如下:
private String [] arryStr;
private List<User> list;
private Map<String,String> map;
private Map<Integer,User> userMap;
private Map<String,String[]> arrayMap;
private Map<String,List<User>> userListMap;
private List<Object[]> olist;
對應的在jsp頁面中使用struts2標籤遍歷如下:
<body> <center> <br/>======iterator遍歷String 字元陣列======<br/> <s:iterator value="arryStr" id="array"> <s:property value="array"/><br/> </s:iterator> <div></div> <br/>======iterator遍歷List集合======<br/> <table border="1" width="50%" cellpadding="0" cellspacing="0"> <tr style="background-color: yellow"> <td>id</td> <td>name</td> <td>pwd</td> <td>age</td> </tr> <s:iterator value="list" id="array"> <tr> <td><s:property value="id"/></td> <td><s:property value="name"/></td> <td><s:property value="pwd"/></td> <td><s:property value="age"/></td> </tr> </s:iterator> </table> <br/>======iterator遍歷Map中的String字串======<br/> <s:iterator value="map" id="column"> <s:property value="#column"/><br/> Key:<s:property value="key"/><br/> Value:<s:property value="value"/><br/> </s:iterator> <div></div> <br/>======iterator遍歷Map中的User 物件(Object)======<br/> <table border="1" width="50%" cellpadding="0" cellspacing="0"> <tr style="background-color: yellow"> <td>key=value</td> <td>id</td> <td>name</td> <td>pwd</td> <td>age</td> </tr> <s:iterator value="userMap" id="column"> <tr> <td><s:property value="#column"/></td> <td><s:property value="value.id"/></td> <td><s:property value="value.name"/></td> <td><s:property value="value.pwd"/></td> <td><s:property value="value.age"/></td> </tr> </s:iterator> </table> <br/>======iterator遍歷Map中的String字元陣列====== <s:iterator value="arrayMap" id="column"> <div><s:property value="#column"/></div> -------------------key:<s:property value="key"/>--------------------<br/> <s:iterator value="value" id="col"> <s:property value="col"/><br/> </s:iterator> <div></div> </s:iterator> <br/>======iterator遍歷Map中的List集合====== <table border="1" width="50%" cellpadding="0" cellspacing="0"> <tr style="background-color: yellow"> <td>key</td> <td>id</td> <td>name</td> <td>pwd</td> <td>age</td> </tr> <s:iterator value="userListMap" id="column"> <s:set var="total" name="total" value="#column.value.size"/> <s:iterator value="#column.value" id="col" status="st"> <tr> <s:if test="#st.first"><td rowspan="${total}"><s:property value="#column.key"/></td></s:if> <td><s:property value="id"/></td> <td><s:property value="name"/></td> <td><s:property value="pwd"/></td> <td><s:property value="age"/></td> </tr> </s:iterator> </s:iterator> </table> <br/>======iterator遍歷object[]中的List集合====== <table border="1" width="50%" cellpadding="0" cellspacing="0"> <tr style="background-color: yellow"> <td>key</td> <td>id</td> <td>name</td> </tr> <s:iterator value="olist" id="value" status="st"> <tr> <td><s:property value="olist[#st.index][0]"/></td> <td><s:property value="olist[#st.index][1]"/></td> <td><s:property value="olist[#st.index][2]"/></td> </tr> </s:iterator> </table> </center> </body>
本人測試木有問題,歡迎大家參考
另外附上struts2遍歷集合的用法介紹:
struts2的s:iterator 可以遍歷 資料棧裡面的任何陣列,集合等等以下幾個簡單的demo:
s:iterator 標籤有3個屬性:
value:被迭代的集合
id :指定集合裡面的元素的id
status迭代元素的索引
1:jsp頁面定義元素寫法 陣列或list
<s:iterator value="{'1','2','3','4','5'}"id='number'>
<s:property value='number'/>A
</s:iterator>
列印結果為: 1A2A3A4A5A
2:索引的用法
如果指定了status,每次的迭代資料都有IteratorStatus的例項,它有以下幾個方法
<s:iterator 中的status 使用方法
1:#status.odd 當前元素索引是否奇數行
2:#status.even 當前元素索引是否偶數
行
3:#status.count 當前迭代了幾個元素
4:#status.index當前元素索引,從0開始『#status.count=#status.index+1』
6:#status.last 當前是否最後一個元素
7:#status.modules(int)當前行數取模