赞
踩
转载来源:http://blog.sina.com.cn/s/blog_601b97ee01018t7x.html
今天碰到一个很有意思的问题,就是需要用Struts 2的iterator标签来遍历一个含有双层List的嵌套。
首先我们从最基础的说起,用iterator标签遍历一个List。
如果Action中有一个这样的不为null的属性:
|
那么在JSP中,就可以这样来遍历list:
|
其中的propertyNameOfObjectInLi
下面我们再来看稍微复杂一点的情况,那就是嵌套使用iterator标签。
假设我们的Action中有如下属性:
|
那么,我们可以在JSP页面上这样来遍历。
|
请注意,我们必须给里层的iterator标签加上一个id属性,这样,才能通过#id.propertyNameOfObjectInLi
下面是遍历双层List的情况。
假设Action中有如下属性:
|
那么,我们在JSP必须这样来遍历:
|
这种情况下,必须把内层的iterator标签的value属性设定为”top”!这个top就代表栈顶。然后再指定id属性,并用”#“作为前缀来取值。
我今天碰到的情况是这样,在Action中:
|
所以当然就要这样遍历啦:
- <s:iterator value="list1">
-
-
- <s:property value="propertyNameOfObjectInList"></s:property>
-
-
- <s:iterator value="list2">
-
-
- <s:iterator value="top" id="inner">
-
-
- <s:property value="#inner.propertyNameOfObjectInList"></s:property>
-
-
- </s:iterator>
-
- </s:iterator>
-
- </s:iterator>
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。