java web购物车的批量删除、全选和合计

我相信你已经知道这些的功能的原理,我简述一下:

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
结  算

总计(不含运费):¥0

已节省:¥0.00

  批量删除 已选择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;
	}

}

 

效果图:

java web购物车的批量删除、全选和合计_第1张图片

java web购物车的批量删除、全选和合计_第2张图片

java web购物车的批量删除、全选和合计_第3张图片

 

进行批量删除:

 

java web购物车的批量删除、全选和合计_第4张图片

如果能解决您的问题,将不胜荣幸!!!

 

 

你可能感兴趣的:(javaee,前端)