一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - java網上圖書商城(5)購物車模塊2

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

2020-07-10 19:28ganchuanpu JAVA教程

這篇文章主要為大家詳細介紹了java網上圖書商城,購物車模塊第二篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下

先看看效果:

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

結算

list.jsp

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<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>

 

延伸 · 閱讀

精彩推薦
  • JAVA教程hibernate批量操作實例詳解

    hibernate批量操作實例詳解

    這篇文章主要介紹了hibernate批量操作,結合實例形式分析了Hibernate實現批量插入,更新及刪除等操作的具體實現技巧,需要的朋友可以參考下 ...

    新浪網友2732020-04-12
  • JAVA教程Java編程之文件讀寫實例詳解

    Java編程之文件讀寫實例詳解

    這篇文章主要介紹了Java編程之文件讀寫的方法,結合實例形式較為詳細的分析了Java文件讀寫所涉及的類及相應的操作技巧,需要的朋友可以參考下 ...

    Sunnyfans4832020-03-11
  • JAVA教程MyBatis如何使用(一)

    MyBatis如何使用(一)

    這篇文章主要介紹了MyBatis如何使用(一)的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下 ...

    迷茫中守候2332020-05-31
  • JAVA教程java 實現比較版本號功能

    java 實現比較版本號功能

    本篇文章主要介紹了java 中涉及到客戶端的系統經常需要用到比較版本號的功能,并附小示例,希望能幫助需要的小伙伴 ...

    lqh2162020-05-25
  • JAVA教程Java模擬新浪和騰訊自動登錄并發送微博

    Java模擬新浪和騰訊自動登錄并發送微博

    這篇文章主要為大家詳細介紹了Java模擬新浪和騰訊自動登錄并發送微博功能,感興趣的小伙伴們可以參考一下 ...

    supercrsky1832020-06-01
  • JAVA教程Struts2 自定義下拉框Tag標簽

    Struts2 自定義下拉框Tag標簽

    這篇文章主要介紹了Struts2 自定義下拉框Tag標簽的相關資料,需要的朋友可以參考下 ...

    麥田4522020-04-03
  • JAVA教程Java多線程之多線程異常捕捉

    Java多線程之多線程異常捕捉

    在java多線程程序中,所有線程都不允許拋出未捕獲的checked exception,也就是說各個線程需要自己把自己的checked exception處理掉,通過此篇文章給大家分享J...

    brolanda1822020-01-03
  • JAVA教程java異步上傳圖片示例

    java異步上傳圖片示例

    這篇文章主要介紹了java異步上傳圖片示例,需要的朋友可以參考下 ...

    java教程網1902019-11-06
主站蜘蛛池模板: 国产高清在线精品一区二区 | 欧美国产日本高清不卡 | 国产一区二 | 国产手机在线αⅴ片无码观看 | 亚洲精品国产精麻豆久久99 | 精品一区二区三区免费毛片 | 亚洲人成网站在线观看青青 | 国产成人精品午夜在线播放 | 秋霞717理论片在线观看 | 久久久影院亚洲精品 | 91久久综合 | 免费在线看 | 国产91精品区 | 777奇米影视一区二区三区 | 91看片淫黄大片欧美看国产片 | 日韩伦理在线观看 | 美女gif趴跪式抽搐动态图 | 亚洲AV无码国产精品色在线看 | 门房秦大爷小说 | 成人免费草草视频 | 99久久免费国内精品 | 门房秦大爷最新章节阅读 | 日本一区二区三区国产 | 久久免费看少妇级毛片蜜臀 | 国产亚洲自愉自愉 | 18未年禁止免费观看 | 国产精品亚洲片在线观看麻豆 | 91久久精品国产亚洲 | 亚洲国产经典 | 九色PORNY丨视频入口 | 国产美女久久精品香蕉69 | 国产在线观看99 | 欧美老骚 | 欧美视频一区二区专区 | 国产videos hd| 亚洲一区二区三区深夜天堂 | 色婷婷六月丁香在线观看 | 男人日女人的b | 小SAO货叫大声点妓女 | 欧美精品v欧洲高清 | 欧美在线视频一区在线观看 |