java網上圖書商城(5)購物車模組2_java

來源:互聯網
上載者:User

先看看效果:

結算

list.jsp

<a href="javascript:jiesuan();" id="jiesuan" class="jiesuan"></a>

<form id="jieSuanForm" action="<c:url value='/CartItemServlet'/>" method="post"> <input type="hidden" name="cartItemIds" id="cartItemIds"/> <input type="hidden" name="total" id="hiddenTotal"/> <input type="hidden" name="method" value="loadCartItems"/></form>function jiesuan() { // 1. 擷取所有被選擇的條目的id,放到數組中 var cartItemIdArray = new Array(); $(":checkbox[name=checkboxBtn][checked=true]").each(function() { cartItemIdArray.push($(this).val());//把複選框的值添加到數組中 }); // 2. 把數組的值toString(),然後賦給表單的cartItemIds這個hidden $("#cartItemIds").val(cartItemIdArray.toString()); // 把總計的值,也儲存到表單中 $("#hiddenTotal").val($("#total").text()); // 3. 提交這個表單 $("#jieSuanForm").submit();}

servlet

public String loadCartItems(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { /* * 1. 擷取cartItemIds參數 */ String cartItemIds = req.getParameter("cartItemIds"); double total = Double.parseDouble(req.getParameter("total")); /* * 2. 通過service得到List<CartItem> */ List<CartItem> cartItemList = cartItemService.loadCartItems(cartItemIds); /* * 3. 儲存,然後轉寄到/cart/showitem.jsp */ req.setAttribute("cartItemList", cartItemList); req.setAttribute("total", total); req.setAttribute("cartItemIds", cartItemIds); return "f:/jsps/cart/showitem.jsp";}

Dao

載入多個CartItem

public List<CartItem> loadCartItems(String cartItemIds) throws SQLException { /* * 1. 把cartItemIds轉換成數組 */ Object[] cartItemIdArray = cartItemIds.split(","); /* * 2. 產生wehre子句 */ String whereSql = toWhereSql(cartItemIdArray.length); /* * 3. 產生sql語句 */ String sql = "select * from t_cartitem c, t_book b where c.bid=b.bid and " + whereSql; /* * 4. 執行sql,返回List<CartItem> */ return toCartItemList(qr.query(sql, new MapListHandler(), cartItemIdArray));}

showitem.jsp

<c:choose> <c:when test="${empty cartItemList }">嘻嘻~</c:when> <c:otherwise> <form id="form1" action="<c:url value='/OrderServlet'/>" method="post">  <input type="hidden" name="cartItemIds" value="${cartItemIds }"/>  <input type="hidden" name="method" value="createOrder"/>  <table width="95%" align="center" cellpadding="0" cellspacing="0">  <tr bgcolor="#efeae5">   <td width="400px" colspan="5"><span style="font-weight: 900;">產生訂單</span></td>  </tr>  <tr align="center">   <td width="10%"> </td>   <td width="50%">圖書名稱</td>   <td>單價</td>   <td>數量</td>   <td>小計</td>  </tr>   <c:forEach items="${cartItemList }" var="cartItem">  <tr align="center">   <td align="right">   <a class="linkImage" href="<c:url value='/jsps/book/desc.jsp'/>"><img border="0" width="54" align="top" src="<c:url value='/${cartItem.book.image_b }'/>"/></a>   </td>   <td align="left">   <a href="<c:url value='/jsps/book/desc.jsp'/>"><span>${cartItem.book.bname }</span></a>   </td>   <td>¥${cartItem.book.currPrice }</td>   <td>${cartItem.quantity }</td>   <td>   <span class="price_n">¥<span class="subtotal">${cartItem.subtotal }</span></span>   </td>  </tr>  </c:forEach>    <tr>   <td colspan="6" align="right">   <span>總計:</span><span class="price_t">¥<span id="total">${total }</span></span>   </td>  </tr>  <tr>   <td colspan="5" bgcolor="#efeae5"><span style="font-weight: 900">收貨地址</span></td>  </tr>  <tr>   <td colspan="6">   <input id="addr" type="text" name="address" value="北京市 昌平區 西三旗 金燕龍辦公樓1層 傳智播客 張三爺"/>   </td>  </tr>  <tr>   <td style="border-top-width: 4px;" colspan="5" align="right">   <a id="linkSubmit" href="javascript:$('#form1').submit();">提交訂單</a>   </td>  </tr>  </table> </form> </c:otherwise></c:choose>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.