⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cartaction.java

📁 巴巴运动网源码 传智博客出品 不全 一部分代码 可以参考
💻 JAVA
字号:
package com.itcast.web.action.shopping;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
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.service.product.ProductInfoService;
import com.itcast.utils.WebUtil;
import com.itcast.web.formbean.product.CartForm;


@Controller("/shopping/cart")
public class CartAction extends Action{
	@Resource(name="productInfoServiceBean")
	private ProductInfoService productInfoService;

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		CartForm formbean = (CartForm)form;
		BuyCart buyCart = (BuyCart)request.getSession().getAttribute("buycart");
		if(buyCart==null){//如果当前session不存在购物车,就访问以前用户session里的购物车(一般是因为用户重新打开了一个浏览器,导致创建了一个新session)
			String sid = WebUtil.getCookieByName(request, "buyCartID");
			if(sid!=null){
				HttpSession session = SiteSessionListener.getSession(sid);
				if(session!=null){
					buyCart = (BuyCart)session.getAttribute("buycart");
					if(buyCart!=null){
						SiteSessionListener.removeSession(sid);
						request.getSession().setAttribute("buycart", buyCart);
						WebUtil.addCookie(response, "buyCartID", request.getSession().getId(), request.getSession().getMaxInactiveInterval());
					}
				}
			}
		}
		if(buyCart==null){
			buyCart = new BuyCart();
			request.getSession().setAttribute("buycart", buyCart);
			WebUtil.addCookie(response, "buyCartID", request.getSession().getId(), request.getSession().getMaxInactiveInterval());
		}
		if(formbean.getProductid()!=null && formbean.getProductid()>0){
			ProductInfo product = productInfoService.find(ProductInfo.class, formbean.getProductid());
			if(product!=null){
				ProductStyle currentStyle = null;
				for(ProductStyle style : product.getStyles()){//找到对应id的样式
					if(style.getVisible() && style.getId().equals(formbean.getStyleid())){
						currentStyle = style;
						break;
					}
				}
				product.getStyles().clear();//清除所有样式,然后放入被选样式
				if(currentStyle!=null) product.addProductStyle(currentStyle);
				buyCart.addItem(new BuyItem(product, 1));//把商品放入购物车
			}
		}
		request.setAttribute("buyCart", buyCart);
		return mapping.findForward("cart");
	}

}

⌨️ 快捷键说明

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