一、doshop逻辑代码
<%
request.setCharacterEncoding("utf-8");
//接收gid
String gid = request.getParameter("gid");
//根据gid拿到对应的商品对象=查询单个
IGoodsBiz igb = new GoodsBiz();
Goods goods =igb.getGoodsByGid(gid);
/* //形成一个订单项
Item i = new Item();
//给对象赋值
i.setGoods(goods);
i.setSl(1);
i.calc(); */
//订单项集合
//解决覆盖问题
//先拿值
List<Item> ls =(List<Item>)session.getAttribute("mycart");
if(ls==null){//没拿到值 说明之前购物车是空的
ls = new ArrayList<Item>();
}
//int a=Integer.parseInt(gid);
//解决加同一商品重复问题
boolean f = false;//假设该商品不存在
//循环遍历
for(Item ii : ls){
//说明存在
if(ii.getGoods().getGid()==Integer.parseInt(gid)){
//数量在原本的基础上加1
ii.setSl(ii.getSl()+1);
ii.calc();//改变总价
f=true;
break;
}
}
if(f==false){//说明确实不存在
//形成一个订单项
Item i = new Item();
//给对象赋值
i.setGoods(goods);
i.setSl(1);
i.calc();
//把订单项加到集合中
ls.add(i);
}
//把集