struts2之iterator标签之双重循环

1 struts标签中有一个循环的标签,iterator标签。iterator双重循环也可以使用。iterator中的var属性表示集合中的元素单元。
如:<s:iterator value="#request.bean.doubleList" var="list1" ><!-- id和var都表示集合中的元素单元,可以互用 -->
  <tr>
  <s:iterator value="#list1" var="list2">
  <td>
  <s:property value="#list2"/>
  </td>
  </s:iterator>
  </tr>
  </s:iterator>


说明:iterator标签的value属性表示集合值。
      var表示集合中的元素单元,可以理解为在循环体中定义了一个变量。在循环时将集合元素中的每个单元元素赋值给这个变量。外围的元素单元可以作为第二重循环的value属性值(第二重循环的集合)


2 作为iterator的双重循环的value的属性值。在java后台中可以用双重list来设置。
如:
bean的属性:
private List<List<String>> doubleList;


action中:
private Example bean;
List<String> list1=new ArrayList<String>();
list1.add("1-1");
list1.add("1-2");
list1.add("1-3");
list1.add("1-4");

List<String> list2=new ArrayList<String>();
list2.add("2-1");
list2.add("2-2");
list2.add("2-3");
list2.add("2-4");

List<String> list3=new ArrayList<String>();
list3.add("3-1");
list3.add("3-2");
list3.add("3-3");
list3.add("3-4");

List<List<String>> doubleList_=new ArrayList<List<String>>();
doubleList_.add(list1);
doubleList_.add(list2);
doubleList_.add(list3);

bean.setDoubleList(doubleList_);




前台jsp:
<s:iterator value="#request.bean.doubleList" var="list1" ><!-- id和var都表示集合中的元素单元,可以互用 -->
  <tr>
  <s:iterator value="#list1" var="list2">
  <td>
  <s:property value="#list2"/>
  </td>
  </s:iterator>
  </tr>
  </s:iterator>


3 输出可以用struts2的property标签。如:<s:property value="#list2"/> #表示struts2中的OGNL表达式。


总结:strtus2的iterator标签不但可用于循环,还可用于双重循环。
iterator标签的value属性是集合值。
iterator标签的var属性是集合中的单元元素。可以理解为在循环体中定义了一个变量。在循环时将集合元素中的每个单元元素赋值给这个变量。外围的iterator标签的var值可以作为第二重iterator标签的value值。


简单记忆:循环需要循环体中定义变量
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值