下面是實例的源碼!注釋已經很清楚了[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");
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");