我是
靠谱客的博主
高挑钻石,最近开发中收集的这篇文章主要介绍
Struts 2 标签嵌套以及遍历双层List,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
今天碰到一个很有意思的问题,就是需要用Struts 2的iterator标签来遍历一个含有双层List的嵌套。
首先我们从最基础的说起,用iterator标签遍历一个List。
如果Action中有一个这样的不为null的属性
那么在JSP中,就可以这样来遍历list:
| <s:iterator value="list">
<s:property value="propertyNameOfObjectInList"></s:property>
</s:iterator>
|
其中的propertyNameOfObjectInList是指list中对象的属性名。
下面我们再来看稍微复杂一点的情况,那就是嵌套使用iterator标签。
假设我们的Action中有如下属性:
| private List<T> list1;
private List<T> list2;
|
那么,我们可以在JSP页面上这样来遍历。
| <s:iterator value="list1">
<s:property value="propertyNameOfObjectInList"></s:property>
<s:iterator value="list2" id="inner">
<s:property value="#inner.propertyNameOfObjectInList"></s:property>
</s:iterator>
</s:iterator>
|
请注意,我们必须给里层的iterator标签加上一个id属性,这样,才能通过#id.propertyNameOfObjectInList来取得我们需要的值。
下面是遍历双层List的情况。
假设Action中有如下属性:
| private List<List<T>> list;
|
那么,我们在JSP必须这样来遍历:
| <s:iterator value="list">
<s:iterator value="top" id="inner">
<s:property value="#inner.propertyNameOfObjectInList"></s:property>
</s:iterator>
</s:iterator>
|
这种情况下,必须把内层的iterator标签的value属性设定为”top”!这个top就代表栈顶。然后再指定id属性,并用”#”作为前缀来取值。
我今天碰到的情况是这样,在Action中:
| private List<T> list1;
private List<List<T>> list2;
|
所以当然就要这样遍历啦:
| <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> |
原文转自:http://blog.psjay.com/posts/java-ee-struts-2-iterator-tag/
最后
以上就是高挑钻石为你收集整理的Struts 2 标签嵌套以及遍历双层List的全部内容,希望文章能够帮你解决Struts 2 标签嵌套以及遍历双层List所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复