一个超级变态的集合结构的jsp页面解析

本文介绍了一种使用JSTL处理复杂数据结构的方法,具体为list中嵌套map及map中嵌套list的数据结构,并对比Struts的局限性,展示了如何通过JSTL的forEach标签实现对这种复杂结构的有效遍历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

结构式这样的,list里放map,map里放list,lis再放map 

我们要取最后一个map的数值

结构代码如下:

 

List outList=new ArrayList();
        List inList
=new ArrayList();
        Map outMap
=new HashMap();
        Map inMap
=new HashMap();
        
        inMap.put(
"inMap-1","inMap-1");
        inMap.put(
"inMap-2","inMap-2");
        
        inList.add(inMap);
        

        outMap.put(
"inList", inList);
        
        outList.add(outMap);

 

用struts的logic:iterator不能进行显示,因为logic:iterator只支持list-list-map的结构,也就是说不能从map里读出lis再循环,map之能事最后一个层次了,如果是list-map-list的结构,struts会报不能建立容器迭代的异常,而使用jstl可以很好的解决

<c:forEach var="outList" items="${outList}" >
    <c:forEach var="outMap" items="${outList}" >
      <c:forEach var="inList" items="${outMap.value}" >
        <c:forEach var="inMap" items="${inList}" >
              <c:out value="${inMap.value}"/>
        </c:forEach>
    </c:forEach>
    </c:forEach>
  </c:forEach>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值