📄 cartmanageaction.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -