1.完成加入购物车功能

1.1点击加入购物车

java 模拟购物窗体 javaweb实现购物车功能代码_java

1.2跳转到购物车时经过do处理页面处理

do处理页面代码

<%
//设置编码
request.setCharacterEncoding("utf-8");
//获取参数
int gid = 0;
String id = request.getParameter("gid");
if(null!=id){
	gid = Integer.parseInt(id);
}
IGoodsBiz igb = new GoodsBizImpl();
Goods g =  igb.queryGoods(gid);
/* out.println(g); */

//实例化产品实体
Cart cart = new Cart();
//设置商品属性
cart.setGoods(g);
//数量
cart.setCcount(1);
//总价格
cart.setCtotal();
/* System.out.println(cart); */

//先获取在保存 假设有购物车
List<Cart> listCarts = (List<Cart>)session.getAttribute("listCarts");
/* System.out.println(listCarts); */
//第一次进入

//假设可以加入
boolean flag = true;

//非空判断
if(null==listCarts){//说明第一次进入
	//构建一个购物车
	listCarts = new ArrayList<Cart>();
}else{
	//二次进入
	for(Cart c : listCarts){
		if(c.getGoods().getGid() == gid){//说明该购物车有该商品
			flag = false;
			//修改数量
			c.setCcount(c.getCcount()+1);
		    //重新计算总价格
		    c.setCtotal();
		}
	}
}
if(flag == true){
	//将商品加入容器
	listCarts.add(cart);
}
//保存到session
session.setAttribute("listCarts", listCarts);
//重定向
response.sendRedirect("doCart.jsp");
%>

1.3购物车页面

java 模拟购物窗体 javaweb实现购物车功能代码_java 模拟购物窗体_02

 2.完成购物车页面:数量递增或者递减以及删除和修改功能

点击加减时数量发生对应的变化

删除do处理代码

<%
//设置编码
request.setCharacterEncoding("utf-8");
//获取参数
int gid = 0;
String id = request.getParameter("gid");
if(null!=id){
	gid = Integer.parseInt(id);
}
//获取购物车
List<Cart> listCarts = (List<Cart>)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");
%>

修改do处理代码

<%
//设置编码
request.setCharacterEncoding("utf-8");
//获取参数
int gid = 0;
String id = request.getParameter("gid");
if(null!=id){
	gid = Integer.parseInt(id);
}
int ccount = 0;
String count = request.getParameter("ccount");
if(null!=count){
	ccount = Integer.parseInt(count);
}
//获取购物车
List<Cart> listCarts = (List<Cart>)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");
%>