JavaWeb(购物车部分功能实现)

目录

1、加入购物车

2、删除商品

3、修改商品(数量和总价)

4、购物车分页


1、加入购物车

index.jsp页面

<%@page import="com.zking.entity.Goods"%>
<%@page import="java.util.List"%>
<%@page import="com.zking.biz.impl.GoodsBizImpl"%>
<%@page import="com.zking.biz.IGoodsBiz"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>




Insert title here


	

购物商城首页


<% //实例化业务逻辑层 IGoodsBiz igb = new GoodsBizImpl(); //调用查询所有的方法 List listGoods = igb.queryGoodsAll(); for (Goods goods : listGoods) { %> <% } %>
编号 名称 类型 图片 价格 库存 描述 操作
<%=goods.getGid()%> <%=goods.getGname()%> <%=goods.getGtype()%> <%=goods.getGprice()%> <%=goods.getGkc()%> <%=goods.getGinfo()%> 加入购物车

doshopping.jsp页面

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="com.zking.entity.Cart"%>
<%@page import="com.zking.entity.Goods"%>
<%@page import="com.zking.biz.impl.GoodsBizImpl"%>
<%@page import="com.zking.biz.IGoodsBiz"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	//设置编码
	request.setCharacterEncoding("utf-8");
	//获取编号
	int gid = 0;
	String id = request.getParameter("gid");
	if (null != id) {
		gid = Integer.valueOf(id);
	}
	//根据id获取信息
	IGoodsBiz igb = new GoodsBizImpl();//实例化Biz层
	igb.queryBygid(gid);
	Goods goods = igb.queryBygid(gid);
	out.println(goods);

	//购物车容器(session) 保存实体
	Cart cart = new Cart();
	//设置属性
	cart.setGoods(goods);
	cart.setCcount(1);//数量
	cart.setCtotal();//总价格

	//版本1(会覆盖上一个)
	//session.setAttribute("cart", cart);
	//response.sendRedirect("cart.jsp");

	//版本2(会覆盖)
	//List listCarts=new ArrayList();
	//listCarts.add(cart);
	//session.setAttribute("listCarts", listCarts);
	//response.sendRedirect("cart.jsp");

	//版本3(可加入多个商品)
	List listCarts = (List) session.getAttribute("listCarts");
	//假设不能加入
	boolean flag = true;
	//非空判断
	if (null == listCarts) {//第一次购物
		listCarts = new ArrayList();
	} else {//第二次购物
		for (Cart c : listCarts) {
			//判断id是否相同
			if (c.getGoods().getGid() == gid) {//说明购物车已有该商品
				flag = false;
				//修改数量
				c.setCcount(c.getCcount() + 1);
				c.setCtotal();
			}
		}
	}
	if (flag == true) {
		listCarts.add(cart);
	}

	session.setAttribute("listCarts", listCarts);
	response.sendRedirect("cart.jsp");
%>

2、删除商品

doDel.jsp页面

<%@page import="com.zking.entity.Cart"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	//设置编码
	request.setCharacterEncoding("utf-8");
	//获取编号
	int gid = 0;
	String id = request.getParameter("gid");
	if (null != id) {
		gid = Integer.valueOf(id);
	}
	//获取购物车
	List listCarts = (List) session.getAttribute("listCarts");
	for (int i = 0; i < listCarts.size(); i++) {
		if (listCarts.get(i).getGoods().getGid() == gid) {
			listCarts.remove(i);
		}
	}
	session.setAttribute("listCarts", listCarts);
	response.sendRedirect("cart.jsp");
%>

 cart.jsp页面控制数量加减



			<%=cart.getGoods().getGname()%>
			<%=cart.getGoods().getGtype()%>
			
			<%=cart.getGoods().getGprice()%>
			
				
				
				

			
			<%=cart.getCtotal()%>
			删除
				修改
		
		<%
			}
			//}
		%>
		
《<%=pageIndex%>/<%=pageMax%>》 下一页

3、修改商品(数量和总价)

doEditGoods.jsp页面

<%@page import="com.zking.entity.Cart"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	//设置编码
	request.setCharacterEncoding("utf-8");
	//获取编号
	int gid = 0;
	String id = request.getParameter("gid");
	if (null != id) {
		gid = Integer.valueOf(id);
	}
	//数量
	String count = request.getParameter("ccount");
	int ccount = 0;
	if (null != count) {
		ccount = Integer.valueOf(count);
	}

	//获取购物车
	List listCarts = (List) session.getAttribute("listCarts");
	for (int i = 0; i < listCarts.size(); i++) {
		if (listCarts.get(i).getGoods().getGid() == gid) {
			listCarts.get(i).setCcount(ccount);
			listCarts.get(i).setCtotal();

		}
	}
	//重新保存
	session.setAttribute("listCarts", listCarts);
	response.sendRedirect("cart.jsp");
%>

4、购物车分页

cart.jsp页面


		<%
			//定义默认页码
			int pageIndex = 1;
			//定义每页现实的额条数
			int pageSize = 3;
			String pIndex = request.getParameter("pageIndex");
			if (null != pIndex) {
				pageIndex = Integer.valueOf(pIndex);
			}
			List listCarts = (List) session.getAttribute("listCarts");
			int pageCount = listCarts.size();
			int start = (pageIndex - 1) * pageSize;
			int end = pageIndex * pageSize > pageCount ? pageCount : pageIndex * pageSize;

			int pageMax = pageCount / pageSize;
			if (pageCount % pageSize != 0) {
				pageMax++;
			}
			//if (listCarts != null) {
			//利用subList方法获取区间数据
			listCarts = listCarts.subList(start, end);
			for (Cart cart : listCarts) {
		%>
=========================================================================================

《<%=pageIndex%>/<%=pageMax%>》 下一页

你可能感兴趣的:(JavaWeb,web)