java网上图书商城(5)购物车模块2_java

先看看效果:

结算

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>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java购物车
javaweb网上图书商城、基于java图书商城、java图书商城源码、商城购物车 如何实现、京东商城购物车在哪,以便于您获取更多的相关知识。

时间: 2024-07-30 11:37:44

java网上图书商城(5)购物车模块2_java的相关文章

java网上图书商城(7)订单模块2_java

本文实例为大家分享了java网上图书商城订单模块的具体代码,供大家参考,具体内容如下 1.我的订单---查 按用户查询订单 分页查询 PageBean<Order> <div class="divMain"> <div class="divTitle"> <span style="margin-left: 150px;margin-right: 280px;">商品信息</span> &

java网上图书商城(6)订单模块1_java

先看看效果图: 1.sql ①t_orderitem一个外键 bname:方便后期book删除 CREATE TABLE `t_orderitem` ( `orderItemId` char(32) NOT NULL, `quantity` int(11) DEFAULT NULL, `subtotal` decimal(8,2) DEFAULT NULL, `bid` char(32) DEFAULT NULL, `bname` varchar(200) DEFAULT NULL, `curr

java网上图书商城(3)Book模块_java

本文实例为大家分享了java网上图书商城Book模块代码,供大家参考,具体内容如下 小技巧一:分页①PageBean<Book> findByCriteria(List<Expression> exprList, int pc)  --- 通用的查询方法(pc 当前页码) ②PageBean封装url;//请求路径和参数 /BookServlet?method=findXXX&cid=1&bname=2  小技巧二:超链接有中文 <%-- url标签会自动对参

java网上图书商城(2)Category模块_java

本文实例为大家分享了java网上图书商城Category模块代码,供大家参考,具体内容如下 sql CREATE TABLE `t_category` ( `cid` char(32) NOT NULL, `cname` varchar(50) DEFAULT NULL, `pid` char(32) DEFAULT NULL, `desc` varchar(100) DEFAULT NULL, `orderBy` int(11) NOT NULL AUTO_INCREMENT, PRIMARY

java网上图书商城(8)订单模块3_java

继续上一篇进行学习. 3.查询订单详细信息 OrderServlet public String load(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String oid = req.getParameter("oid"); Order order = orderService.load(oid); req.setAttribute("ord

java网上图书商城(1)User模块_java

本文实例为大家分享了java网上图书商城user模块代码,供大家参考,具体内容如下 效果图: regist.js $(function() { /* * 1. 得到所有的错误信息,循环遍历之.调用一个方法来确定是否显示错误信息! */ $(".errorClass").each(function() { showError($(this));//遍历每个元素,使用每个元素来调用showError方法 }); /* * 2. 切换注册按钮的图片 */ $("#submitBtn

java网上图书商城(4)购物车模块1_java

本文实例为大家分享了购物车模块的具体代码,供大家参考,具体内容如下 使用的不是session,也不是cookie,而是表 > 添加购物条目 > 修改购物条目的数量 > 删除条目 > 批量删除条目 > 我的购物车,即按用户查询条目 > 查询勾选的条目  1.数据表 复制代码 代码如下: insert  into `t_cartitem`(`cartItemId`,`quantity`,`bid`,`uid`,`orderBy`) values ('B8939FC55131

java网上图书商城(9)支付模块_java

本文实例为大家分享了java网上商城支付模块的具体代码,供大家参考,具体内容如下 1.支付准备 public String paymentPre(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setAttribute("order", orderService.load(req.getParameter("oid"))); re

传智播客网上图书商城项目,注册时发送邮箱验证码报错,求助

问题描述 传智播客网上图书商城项目,注册时发送邮箱验证码报错,求助 严重: Servlet.service() for servlet UserServlet threw exception java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at cn.itcast.servlet.BaseServlet.service(BaseServlet.java:60) at javax.servlet.htt