下面是實例的源碼!注釋已經很清楚了[JDK1.5 或者JDK1.5以上]

CartItems 如下

 public class CartItems {
    //商品的信息
 private Product product=new Product();
    //商品的數量
 private int namount=0;
 public CartItems(Product product,int namount)
 {
  this.product=product;
  this.namount=namount;
 }
 public Product getProduct() {
  return product;
 }
 public void setProduct(Product product) {
  this.product = product;
 }
 public int getNamount() {
  return namount;
 }
 public void setNamount(int namount) {
  this.namount = namount;
 }
}
 

action如下

  //得到商品的編號

  String productId=request.getParameter("productId");

 //根據商品的編號查詢該商品的信息 返回商品的對象Product
  Product product=this.productBo.getProductInfo(new Integer(Integer.parseInt(productId)));
  //創建HttpSession的對象
  HttpSession session=request.getSession();
  //判讀Map集合里面是否 存在著對象 就是說map里面是否已經添加了商品
  Map<Integer,CartItems> cart=(Map<Integer, CartItems>) session.getAttribute("cart");
  if (null==cart) {

  //如果沒有添加就創建一個HashMap
   cart=new HashMap<Integer, CartItems>();
   session.setAttribute("cart", cart);
  }
  //如果Map集合里面存在著對象 就根據對象的編號得到該對象
  CartItems items=cart.get(product.getProductId());
  if (null==items) {
   //如果沒有商品就將商品添加到里面
   cart.put(product.getProductId(), new CartItems(product,1));
  }
  else
  {
   //如果存在商品數量+1
   items.setNamount(items.getNamount()+1);
  }
  List<CartItems> arrayList=new ArrayList<CartItems>();
    //將map里面的商品對象遍歷出來
  for (Map.Entry<Integer, CartItems> entry:cart.entrySet()) {
 
   CartItems cartItems=entry.getValue();
  
   arrayList.add(cartItems);
  }
  request.setAttribute("arrayList",arrayList);

  //發送到遍歷的頁面
  return mapping.findForward("success");