例如用户去查询自己的订单得到一个orderlist,
每一个订单(order)对应一个商品的goodlist,
如果用户(user_id)去查询已买到的商品,在jsp里如何用servlet返回的orderlist和goodlist查询。
如同淘宝先forEach所有订单,订单里forEach里面的所有商品jspservletforEach
每一个订单(order)对应一个商品的goodlist,
如果用户(user_id)去查询已买到的商品,在jsp里如何用servlet返回的orderlist和goodlist查询。
如同淘宝先forEach所有订单,订单里forEach里面的所有商品jspservletforEach
<c:forEach items="${orderlist}" varStatus="i" var="list">
<c:forEach items="${goodlist}" var="obj">
<c:out value="${obj}"></c:out>
</c:forEach>
</c:forEach>
varStatus="ordl">
<tbody>
<tr height="5"></tr>
<tr>
<td class="order-bh"><input type="checkbox" class="selector"
id="${orderlist.order_id }" name="biz" value="check"> 订单编号: <span
class="order-num">${orderlist.order_id }</span> <span
class="deal-time"> 成交时间:${orderlist.order_date }</span></td>
</tr>
<tr height="5"></tr>
<!-- 得到订单内的所有物品 -->
<c:forEach items="${requestScope.golist }" var="golist"
varStatus="goodl">
<tr id="${golist.go_id }" class="order-order" bordercolor="#ccc">
<td class="baobei-name"><a target="#" title="查看宝贝详情"
href="#"> <img class="img" alt="查看宝贝详情"
src="img/order/ns.jpg" />
</a> <a target="_blank" href="#">${golist.good_name }</a> <br>
<div class="desc">
<span>重量:${golist.good_weight }</span>
</div></td>
<td class="baobei-price" title="price">${golist.price_et
}</td>
<td class="baobei-quantity" title="num">${golist.go_num }</td> <td class="baobei-after-service" rowspan="1"><a
href="inform.html" target="_blank">违规举报</a></td> <td class="baobei-amount" rowspan="1"><strong>${orderlist.sum
}</strong>
<p class="post-type">(含快递:0.00 )</p> <div class="card">
<img src="img/order/xcard.png" alt="信用卡" title="支持信用卡支付" />
</div></td>
<td class="baobei-trade-status" rowspan="1"><c:choose>
<c:when test="${ orderlist.ispaid == 0 }">
<a href="#">未付款</a>
</c:when>
<c:otherwise>
<a href="#">已付款</a>
<br>
<a href="#">查看物流</a>
</c:otherwise>
</c:choose><br> <span> <a href="#" target="_blank"
class="detail-link">订单详情</a>
</span></td>
<td class="baobei-operate" rowspan="1">
<c:choose>
<c:when test="${ orderlist.ispaid == 0 }">
<div class="skin-orange">
<a class="pay-button" href="#" target="_blank" title="付款到支付宝">付款</a>
</div> <br> <a title="请与卖家协商取消订单,每天不得取消超过5笔订单。" href="#">取消订单</a>
</c:when>
<c:otherwise>
<div class="skin-blue">
</div> <br> <a title="" href="#">添加评论</a>
</c:otherwise>
</c:choose>
</td>
<td class="baobei-delete" rowspan="1"><a
class="remove_order" title="删除订单" href="#">删除</a></td> </tr>
</c:forEach>
</tbody>
</c:forEach>
<c:forEach items="${requestScope.golist }" var="golist"
varStatus="goodl">
你写的这个不是遍历当前订单的物品
orderlist是所有订单,goodlist是所有商品。
循环一个订单,循环所有商品(包含第二个订单中的),循环第二个订单,循环所有商品(包含第一个订单中的)。
要注意判断内循环中的商品是否是外循环订单中的。
<c:forEach items="${orderlist}" varStatus="i" var="order">
<c:forEach items="${order.goodlist}" var="obj">
...
</c:forEach>
</c:forEach>
req.setAttribute("orderlist", orderlist);
req.setAttribute("ordersize", orderlist.size());
V_GoviewDAO vgodao=new V_GoviewDAO();
//根据订单ID来查订单内容(物品及数量)
Iterator<Order> it=orderlist.iterator();
while(it.hasNext()){
Order order=new Order();
order=it.next();
int order_id=order.getOrder_id();
List<V_Goview> golist=vgodao.findGoodorderByOrderId(order_id);
/*List<GoodOrder> goodlist =godao.findAllGoodByOrder(order_id);*///根据订单ID来查订单内容(物品及数量)
req.setAttribute("golist", golist);//这儿如何能让返回值在接受的时候能得到不同的golist
}
req.setAttribute("orderlist", orderlist);
req.setAttribute("ordersize", orderlist.size());
V_GoviewDAO vgodao=new V_GoviewDAO();
//根据订单ID来查订单内容(物品及数量)
Iterator<Order> it=orderlist.iterator();
while(it.hasNext()){
Order order=new Order();
order=it.next();
int order_id=order.getOrder_id();List<V_Goview> golist=vgodao.findGoodorderByOrderId(order_id);
/*List<GoodOrder> goodlist =godao.findAllGoodByOrder(order_id);*///根据订单ID来查订单内容(物品及数量)
你的Order对象里没有List<V_Goview> golist属性?如果有的话,下面的改成这样:order.setGoList(golist);
req.setAttribute("golist", golist);//你这样的话,req中的golist是最后set的物品,之前set的被覆盖
}
现在只是[<c:forEach items="${requestScope.orderlist }" var="orderlist"
varStatus="ordl">
<c:forEach items="${requestScope.golist }" var="golist"
varStatus="goodl">
。。
</c:forEach>
</c:forEach>
双重forEach还都是Servlet返回的,怎么样接收的啊,下划线那里怎么写啊
Order2 olist2=new Order2();
List<V_Goview> golist=new Vector<>();
while(it.hasNext()){
V_Goview vorder=new V_Goview();
vorder=it.next();
int order_id=vorder.getOrder_id();
try
{
golist = vgodao.findGoodorderByOrderId(order_id);//根据订单ID来查订单内容(物品及数量)
/*list.add(golist);*/
olist2.setgolist(golist);
}
catch (SQLException e)
{
e.printStackTrace();
}
}
req.setAttribute("olist2", olist2);
golist是Order2里面的一个属性?
返回olist2,jsp里可以olist2.golist?我这样写好像报错的
参照如下:
List<Order> orderlist =orderdao.findAllOrderById(user_id1);//根据用户ID查询订单
//Order对象里 有一个List<V_Goview> golist属性及其set/get方法
Iterator<Order> it=orderlist.iterator();
while(it.hasNext()){
Order order=it.next();
int order_id=order.getOrder_id();
try
{
List<V_Goview> golist = vgodao.findGoodorderByOrderId(order_id);//根据订单ID来查订单内容(物品及数量)order.setGolist(golist);}
catch (SQLException e)
{
e.printStackTrace();
}
}
req.setAttribute("orderlist", orderlist);jsp上面
<c:forEach items="${orderlist}" varStatus="i" var="order">
<c:forEach items="${order.golist}" var="obj">
...
</c:forEach>
</c:forEach>
goodlist当做Order的属性啊。
Order order=new Order();
List<V_Goview> golist=new Vector<>();
while(it.hasNext()){
Order ord=it.next();
怎么报这个java.util.ConcurrentModificationException异常呢
Iterator<Order> it=orderlist.iterator();
Order order=new Order();
List<V_Goview> golist=new Vector<>();
while(it.hasNext()){
Order ord=it.next();
怎么报这个java.util.ConcurrentModificationException异常呢
List<Order> orderlist =orderdao.findAllOrderById(user_id1);//根据用户ID查询订单
//Order对象里 有一个List<V_Goview> golist属性及其set/get方法
for(Order order:orderlist ){
int order_id=order.getOrder_id();
try
{
List<V_Goview> golist = vgodao.findGoodorderByOrderId(order_id);//根据订单ID来查订单内容(物品及数量)order.setGolist(golist);}
catch (SQLException e)
{
e.printStackTrace();
}
}
req.setAttribute("orderlist", orderlist);
在页面执行orderlist.golist能有order得到的golist啊?