下面是实例的源码!注释已经很清楚了[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");