小伙伴们,你们好呀,我是老寇
目录
一、功能简介
1.批量删除:获取要删除商品的id,在servlet进行判断并删除
2.全选:通过你点击这个节点找自己的父节点或兄弟节点
二、核心代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
网上书城购物车
我的购物车
填写订单
完成订单
您还没有登录!登录后购物车的商品将保存到您的帐号中
立即登录
亲,您已登录,赶快去购物吧!
-
- 序号
- 图书名称
- 单价(元)
- 数量
- 金额(元)
- 操作
${vs.count }
${entry.key.book_name}
¥${entry.key.price }0
¥${entry.key.price*entry.value}0
删除
店铺合计
¥0
package cn.bookstore.servlet; import java.io.IOException; import java.util.Iterator; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import cn.bookstore.domain.Book; / * 批量删除 */ @WebServlet("/batchDeleteServlet") public class batchDeleteServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String id=request.getParameter("id"); String[] myid=id.split(","); Map
cart=(Map
) request.getSession().getAttribute("cart"); / * Map的实现不是同步的。如果程序中出现多个线程同时访问一个Map,而其中至少一个线程修改Map时, 它必须保持外部同步。而通过查看Iterator原理发现,Iterator是工作在一个独立的线程中,并且拥有一个 mutex锁, 就是说Iterator在工作的时候,是不允许被迭代的对象被改变的,所以调用Iterator操作获得的对象在多线程修改Map的时候会自动失效。 */ Iterator
it = cart.keySet().iterator(); if(cart.size()==myid.length){ cart.clear(); }else{ while(it.hasNext()) { Book book=it.next(); for(String bookid:myid){ if(bookid.equals(book.getBook_id())){ System.out.println("移出书籍:"+book.getBook_name()); it.remove(); } } } } request.getRequestDispatcher("/client/shoppingcart.jsp").forward(request, response); return; } }
效果图



批量删除

如果能解决您的问题,将不胜荣幸!!!
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222512.html原文链接:https://javaforall.net
