cartmanageaction.java

来自「巴巴运动网源码 传智博客出品 不全 一部分代码 可以参考」· Java 代码 · 共 76 行

JAVA
76
字号
package com.itcast.web.action.shopping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.springframework.stereotype.Controller;

import com.itcast.bean.BuyCart;
import com.itcast.bean.BuyItem;
import com.itcast.bean.product.ProductInfo;
import com.itcast.bean.product.ProductStyle;
import com.itcast.web.formbean.product.CartForm;

@Controller("/shopping/cart/manage")
public class CartManageAction extends DispatchAction {
	
	private BuyCart getBuyCart(HttpServletRequest request){
		return (BuyCart)request.getSession().getAttribute("buycart");
	}
	/**
	 * 删除指定购买项
	 */
	public ActionForward delete(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		CartForm formbean = (CartForm)form;
		BuyCart buyCart = getBuyCart(request);
		if(buyCart!=null){
			ProductInfo product = new ProductInfo(formbean.getProductid());
			product.addProductStyle(new ProductStyle(formbean.getStyleid()));
			buyCart.removeBuyItem(new BuyItem(product));
		}
		return mapping.findForward("result");
	}
	
	/**
	 * 删除所有购买项
	 */
	public ActionForward deleteAll(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		BuyCart buyCart = getBuyCart(request);
		if(buyCart!=null){
			buyCart.removeAll();
		}
		return mapping.findForward("result");
	}
	
	/**
	 * 更新所有购买项的数量
	 */
	public ActionForward updateAmount(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		BuyCart buyCart = getBuyCart(request);
		if(buyCart!=null){
			for(BuyItem item : buyCart.getItems()){
				StringBuffer key = new StringBuffer("amount_");
				key.append(item.getProduct().getId()).append('_');
				if(item.getProduct().getStyles().size()>0){
					key.append(item.getProduct().getStyles().iterator().next().getId());
				}
				String amountStr = request.getParameter(key.toString());
				if(amountStr!=null && !"".equals(amountStr)){
					try {
						int amount = Integer.parseInt(amountStr);
						if(amount>0) item.setAmount(amount);
					} catch (RuntimeException e) {}
				}
			}
		}
		return mapping.findForward("result");
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?