📄 cartaction.java
字号:
package com.estore.struts.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;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 com.estore.struts.Globals;import com.estore.struts.entity.Cart;import com.estore.struts.entity.CartProduct;import com.estore.struts.entity.Product;import com.estore.struts.entity.User;import com.estore.struts.service.ProductService;import com.estore.struts.utils.ServiceFactory;public class CartAction extends DispatchAction { public ActionForward addCart(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { /* * 在添加商品之前,会对session和user进行判断,如果不存在时,会把错误信息封装到request中, * 然后转发出去让用户重新登录; */ HttpSession session = request.getSession(false); String message = ""; if (session == null) { message = "该Session已经过期,或者你没有登录,请重新<a href='/estore/pages/login.jsp' style='color:red;'>登录</a>!请<a onclick='javascript:history.go(-1)' style='color:red;'>返回</a>!"; request.setAttribute("message", message); return mapping.findForward("error"); } User user = (User) session.getAttribute("user"); if (user == null) { message = "该Session已经过期,或者你没有登录,请重新<a href='/estore/pages/login.jsp' style='color:red;'>登录</a>! 请<a onclick='javascript:history.go(-1)' style='color:red;'>返回</a>"; request.setAttribute("message", message); return mapping.findForward("error"); } /* * 从session中获得购物车 */ Cart cart = (Cart) session.getAttribute("cart"); if (cart == null) { cart = new Cart(); } /* * 从数据库中把商品取到; */ ProductService productService = (ProductService) ServiceFactory .getInstance().getService(Globals.PRODUCT_SERVICE); Integer id = Integer.parseInt(request.getParameter("productid")); Product product = productService.getProductById(id); /* * 在向购物车中添加商品的时候会判断商品是否已经存在, * 已存在的就不让在加入了; */ if (cart.isExist(id)) { message = "该商品已经存在!请<a onclick='javascript:history.go(-1)'>返回</a>!"; request.setAttribute("message", message); return mapping.findForward("error"); } else { /* * 向购物车添加一个商品; */ cart.addCart(product); session.setAttribute("cart", cart); return mapping.findForward("addcartsuccess"); } } public ActionForward remove(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); Integer productid = Integer.parseInt(request.getParameter("productid")); ProductService productService = (ProductService) ServiceFactory .getInstance().getService(Globals.PRODUCT_SERVICE); Product pro = productService.getProductById(productid); Cart cart = (Cart) session.getAttribute("cart"); cart.removeCart(pro); session.setAttribute("cart", cart); return mapping.findForward("removecartsuccess"); } public ActionForward modify(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { Integer productid=Integer.parseInt(request.getParameter("productid")); int num=Integer.parseInt(request.getParameter("num")); HttpSession session = request.getSession(); Cart cart = (Cart) session.getAttribute("cart"); cart.modifyNum(productid, num); return mapping.findForward("modifycartsuccess"); } /* * 也就是从session中把购物车清除掉; */ public ActionForward removeall(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); Cart cart = (Cart) session.getAttribute("cart"); session.removeAttribute("cart"); return mapping.findForward("success"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -