JavaWEB(购物车部分功能)

1.完成加入购物车功能

1.1点击加入购物车

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购物车页面

 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");
%>

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值