日期:2014-05-17  浏览次数:20867 次

servlet返回list值的双重<c:forEach>循环
例如用户去查询自己的订单得到一个orderlist,
每一个订单(order)对应一个商品的goodlist,
如果用户(user_id)去查询已买到的商品,在jsp里如何用servlet返回的orderlist和goodlist查询。
如同淘宝先forEach所有订单,订单里forEach里面的所有商品
jsp servlet forEach

------解决方案--------------------
是显示吗
<c:forEach items="${orderlist}" varStatus="i" var="list">

                    
                        <c:forEach items="${goodlist}" var="obj">
                            
                                <c:out value="${obj}"></c:out>
                            
                        </c:forEach>
                   


                </c:forEach>
------解决方案--------------------
引用:
<!-- 根据用户名de到订单 -->

<c:forEach items="${requestScope.orderlist }" var="orderlist"
varStatus="ordl">
<tbody>
<tr height="5"></tr>
<tr>
<td class="order-bh"><input type="checkbox" c……
<!-- 得到订单内的所有物品 -->
<c:forEach items="${requestScope.golist }" var="golist"
varStatus="goodl">
你写的这个不是遍历当前订单的物品
------解决方案--------------------
引用:
引用:<!-- 根据用户名de到订单 -->

<c:forEach items="${requestScope.orderlist }" var="orderlist"
varStatus="ordl">
<tbody>
<tr height="5"></tr>
<tr>
<td class="order-bh">……


orderlist是所有订单,goodlist是所有商品。
循环一个订单,循环所有商品(包含第二个订单中的),循环第二个订单,循环所有商品(包含第一个订单中的)。
要注意判断内循环中的商品是否是外循环订单中的。
------解决方案--------------------
引用:
引用:引用:<!-- 根据用户名de到订单 -->

<c:forEach items="${requestScope.orderlist }" var="orderlist"
varStatus="ordl">
<tbody>
<tr height="5"></tr>
<tr>
<……
  orderlist是所有订单,每个订单对象包括(id,物品集合goodlist,...)

然后就这样遍历
<c:forEach items="${orderlist}" varStatus="i" var="order">                    
                  &n