使用strtuts2的iterator标签循环输出二维数组和嵌套集合
2010-07-12 15:56
253 查看
其实都一样的嵌套对象跟二维数组。
先看看嵌套对象吧。
<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;是传递到页面上的一个数组
先看看嵌套对象吧。
<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;是传递到页面上的一个数组
相关文章推荐
- 使用strtuts2的iterator标签循环输出二维数组
- 使用<s:iterator>标签来循环遍历某一实体下的set集合数据
- <s:iterator></s:iterator>循环指定输出,(status的方法使用)
- dedecms使用channelartlist标签循环输出有二级栏目的导航时,显示一级栏目的当前样式?
- Java中几种输出数组的for循环,以及循环中使用标签(非goto)
- 使用for()嵌套循环输出二维数组
- 使用Struts标签输出二维数组
- 使用双重循环实现输出正三角形
- Django学习____模板中的循环,条件判断,常用的标签,过滤器的使用
- Iterator 循环 List 使用remove方法报错的分析与解决办法。
- Java基础应用之循环控制(使用嵌套循环在控制台上输出九九乘法表)
- 【程序29】 TestAdd3.java 题目:求一个3*3矩阵对角线元素之和 1.程序分析:利用双重for循环控制输入二维数组, //再将a[i][i]累加后输出。
- struts2 标签的使用之二 s:iterator
- 如何用jstl标签的s:iterator循环List<Object>集合
- ThinkPHP 模板循环输出 Volist 标签
- iterator 标签的使用
- struts2 标签的使用之二 s:iterator
- struts2 iterator标签内使用property标签无法获取迭代对象以外的值的解决方法
- jstl的使用(三):核心标签库之流程控制标签和循环标签(包括实现表格奇偶行变色)
- struts2中s:iterator 标签的使用详解 及 OGNL用法