首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

施用strtuts2的iterator标签循环输出二维数组和嵌套集合

2012-10-11 
使用strtuts2的iterator标签循环输出二维数组和嵌套集合其实都一样的嵌套对象跟二维数组。先看看嵌套对象吧

使用strtuts2的iterator标签循环输出二维数组和嵌套集合
其实都一样的嵌套对象跟二维数组。
先看看嵌套对象吧。

<s:iterator id="d1" value="list1" status="s3">     <tr>    <s:iterator id="d2" value="list[#s3.index]" status="s4">     <td>      <s:property value="第二个循环出来的对象属性名称"/>     </td>        </s:iterator>       </tr>    </s:iterator>
这是二维数组
假设传递到页面上的二维数组是String[][] tempModel;,需要输出在一个table中,则代码如下
<table border="0" width="100%" id="table11">   <s:iterator id="data3" value="tempModel" status="st3">     <tr>    <s:iterator id="data4" value="tempModel[#st3.index]" status="st4">     <td>      <s:property value="data4"/>     </td>        </s:iterator>       </tr>    </s:iterator> </table>  


如果我们再加上一些判断条件,比如这个table的第一行是行头,第一列是列头,行头和列头正常显示,
而表格中数据则需要加上超链接,则将其中的
<s:property value="data4"/>这句修改为Code<s:if test="!(#st3.first)&&!(#st4.first)">    <a href="<s:url action="starInfo" namespace="/query/star">        <s:param name="id"><s:property value="id"/></s:param>        <s:param name="starType"><s:property value="starType[#st4.index-1]"/></s:param>        </s:url>">       <s:property value="data4"/>    </a></s:if><s:else>    <s:property value="data4"/></s:else>
其中
<s:if test="!(#st3.first)&&!(#st4.first)">

这句话里的#st3.first这种用法是返回当前被迭代元素是否是第一个元素

<s:property value="starType[#st4.index-1]"/>这句话是特意用来举例说明#st4.index这种用法的,
index返回的当前被迭代元素的索引,String[] starType;是传递到页面上的一个数组

热点排行