session购物车,基于spring,struts,mybatis实现增加购物车,删除,修改购物车
建立商品entity和订单entity
/*
* 李琪
* 添加购物车
* */
public void addcar() {
request = ServletActionContext.getRequest();
String goods_id1 = request.getParameter("goods_id");
Goods list1 = shoppingService.queryById(goods_id1);
List<DingDan> list = (List<DingDan>)request.getSession().getAttribute("goods_dingdan");
int i = 0;
double p = 0;
if(list==null){
List<DingDan> dingdans = new ArrayList<>();
DingDan dan = new DingDan();
dan.setGoods_id(list1.getGoods_id());
dan.setGoods_name(list1.getGoods_name());
dan.setNum(1);
dan.setGoods_price(list1.getGoods_price());
dan.setZongjia(list1.getGoods_price());
dingdans.add(dan);
System.out.println(dingdans.get(0).getGoods_name());
request.getSession().setAttribute("goods_dingdan", dingdans);
}else{
DingDan dd = new DingDan();
for (int j = 0; j < list.size(); j++) {
DingDan ding =list.get(j);
/*System.out.println("***********");
System.out.println(ding.getFood_name());
System.out.println("***********");*/
if(list1.getGoods_name().equals(ding.getGoods_name())){
list.remove(j);
i = ding.getNum();
p = ding.getZongjia();
ding.setNum(i+1);
ding.setZongjia(p+list1.getGoods_price());
list.add(j, ding);
//i=0;
dd=null;
break;
}else{
dd.setGoods_name(list1.getGoods_name());
dd.setGoods_id(list1.getGoods_id());
dd.setNum(i+1);
dd.setGoods_price(list1.getGoods_price());
dd.setZongjia(list1.getGoods_price());
}
}
if(dd!=null){
list.add(dd);
}
System.out.println(list.get(0).toString());
request.getSession().setAttribute("goods_dingdan", list);
}
}
/*
* 李琪
* 移除购物车
* */
public String removeding() {
request = ServletActionContext.getRequest();
String id = request.getParameter("goods_id");
List<DingDan> list = (List<DingDan>) request.getSession().getAttribute("goods_dingdan");
for (int i = 0; i < list.size(); i++) {
DingDan shop = list.get(i);
if (id.equals(shop.getGoods_id())) {
list.remove(i);
shop.setNum(shop.getNum() - 1);
list.add(i, shop);
}
}
request.getSession().setAttribute("goods_dingdan", list);
return "lookcar";
}
/*
* 李琪
* 修改购物车
* */
public String editding() {
request = ServletActionContext.getRequest();
String id = request.getParameter("goods_id");
List<DingDan> list = (List<DingDan>) request.getSession().getAttribute("goods_dingdan");
for (int i = 0; i < list.size(); i++) {
DingDan shop = list.get(i);
if (id.equals(shop.getGoods_id())) {
list.remove(i);
shop.setNum(shop.getNum() + 1);
list.add(i, shop);
}
}
request.getSession().setAttribute("goods_dingdan", list);
return "lookcar";
}
前端是用jstl遍历session