购物车案例【简单版】(三)

简介: 为了巩固MVC的开发模式,下面就写一个购物车的小案例..

购物车的页面

  • 初步把购物项的信息显示出来

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

   <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

   <html>

   <head>

       <title>购物车显示页面</title>

   </head>

   <body>

   <h1>购物车显示页面</h1>

   

   <%--empty函数是判断集合中有没有元素--%>

   <%--如果购物车是没有任何购物项的--%>

   <c:iftest="${empty(cart.bookMap)}">

       <h1>您还没有购买过任何的书籍呀!</h1>

   </c:if>

   

   <%--如果购物车有购物项,就应该把购物项的信息显示给用户--%>

   <c:iftest="${!empty(cart.bookMap)}">

   

       <tableborder="1px">

           <tr>

               <td>书籍编号</td>

               <td>名称</td>

               <td>数量</td>

               <td>小计</td>

               <td>操作</td>

           </tr>

           <c:forEachitems="${cart.bookMap}"var="me">

               <tr>

                   <td>${me.key}</td>

                   <td>${me.value.book.name}</td>

                   <td>${me.value.quantity}</td>

                   <td>${me.value.price}</td>

                   <td><ahref="#">删除</a></td>

               </tr>

           </c:forEach>

           <tr>

               <tdcolspan="2"><ahref="#">清空购物车</a></td>

   

               <tdcolspan="2">合计:</td>

               <td>${cart.price}</td>

           </tr>

   

       </table>

   

   </c:if>

   

   

   </table>

   

   </body>

   </html>

  • 效果是这样子的:

image.gif


删除购物车商品

7.jpg

想要删除购物车中的商品,也很简单,把删除操作挂在超链接上,超链接指向DeleteCartServlet,并将想要删除的书本的id带过去(不将id带过去,服务器哪知道你要删除的是哪个)

<td><ahref="${pageContext.request.contextPath}/DeleteCartBook?bookid=${me.key}">删除</a></td>

开发DeleteCartBook的Servlet

//获取得到用户想要删除哪个书本的id

       Stringid=request.getParameter("bookid");


       //获取该用户相对应的购物车对象

       Cartcart=(Cart)request.getSession().getAttribute("cart");


       try{

           //删除购物车的商品,也应该是在BusinessService中有的功能,于是乎又回到BusinessService中写代码

           BusinessServicebusinessService=newBusinessService();

           businessService.deleteBook(id,cart);


           //删除购物车的商品后,也应该直接跳转回去购物车的显示页面中

           request.getRequestDispatcher("/WEB-INF/listCart.jsp").forward(request,response);



       }catch(CartNotFoundExceptione){

           request.setAttribute("message","购物车空了!");

           request.getRequestDispatcher("/message.jsp").forward(request,response);


       }catch(Exceptione){

           e.printStackTrace();

           request.setAttribute("message","删除中出现了异常~待会再试试呗!");

           request.getRequestDispatcher("/message.jsp").forward(request,response);

       }



目录
相关文章
|
11月前
|
JSON API 开发者
淘宝获取购物车的商品列表 API接口
淘宝提供了获取购物车商品列表 API 接口,允许开发者通过编程方式获取用户购物车中的商品列表。这个 API 接口可以帮助开发者更好地了解用户在购物车中添加了哪些商品,以及每个商品的基本信息,例如商品 ID、名称、价格、数量等。
|
JavaScript 前端开发 Java
55dwr - 购物车案例(实现购物车)
55dwr - 购物车案例(实现购物车)
41 0
|
3月前
|
前端开发 数据库
SpringBoot+Vue实现商品不能重复加入购物车、购物车中展示商品的信息、删除商品重点提示等操作。如何点击图片实现图片放大
这篇文章介绍了如何在SpringBoot+Vue框架下实现购物车功能,包括防止商品重复加入、展示商品信息、删除商品时的提示,以及点击图片放大的前端实现。
SpringBoot+Vue实现商品不能重复加入购物车、购物车中展示商品的信息、删除商品重点提示等操作。如何点击图片实现图片放大
|
6月前
|
JavaScript
基础购物车
基础购物车
39 1
|
6月前
|
JavaScript
基础购物车功能
基础购物车功能
|
SQL 存储 前端开发
显示购物车列表【项目 商城】
显示购物车列表【项目 商城】
125 0
uniapp——添加购物车数据以及删除购物车数据
添加购物车数据以及删除购物车数据
240 0
|
前端开发 JavaScript
【畅购商城】购物车模块之修改购物车以及结算
【畅购商城】购物车模块之修改购物车以及结算
173 0
【畅购商城】购物车模块之修改购物车以及结算
|
前端开发
购物车项目(前端)
购物车项目(前端)
购物车项目(前端)