既然是购物车,自然需要一个购物车(cart):
购物车中有加入购物车,从购物车中删除,计算购物车中所有商品总价格的方法,我们在这里是将所有的商品放入到了一个map集合中
public class Cart {
Map<String,Commodity> cartbean=new HashMap<String, Commodity>();
int num=0;
public void savecommo(Commodity commodity){
if (!cartbean.containsKey(commodity.getId())){
commodity.setNum(1);
cartbean.put(commodity.getId(),commodity);
}else {
Commodity commodity1 = cartbean.get(commodity.getId());
commodity1.setNum(commodity1.getNum()+1);
}
}
//删除商品
public void delete(String id){
Commodity remove = cartbean.remove(id);
}
//计算总价格
public float price(){
float price=0;
Collection<Commodity> values = cartbean.values();
for(Commodity c:values){
price =price + c.getPrice()*c.getNum();
}
return price;
}
//前端页面提供查询购物车的中商品
public Map<String,Commodity> show(){
return cartbean;
}
}
首先需要前台展示:
但是在展示所有商品之前需要查询出全部商品:
/*读取所有的商品*/
@RequestMapping("findAllCommodity.do")
@ResponseBody
public List<Commodity> findAllCommodity(){
List<Commodity> findallcommodity = cd.findallcommodity();
return findallcommodity;
}
读取到所有的商品信息之后回到前端展示:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>