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

📄 cartaction.java

📁 shoppingCar 购物车
💻 JAVA
字号:
package com.tarena.shoppingcar.action;import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set;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.action.ActionMessage;import org.apache.struts.action.ActionMessages;import org.apache.struts.actions.LookupDispatchAction;import com.tarena.shoppingcar.entity.Cart;import com.tarena.shoppingcar.entity.Item;import com.tarena.shoppingcar.entity.User;public class CartAction extends LookupDispatchAction {	@Override	protected Map getKeyMethodMap() {		Map<String, String> map = new HashMap<String, String>();		map.put("submit.modify", "modifyNumber");		map.put("submit.delete", "deleteSelectedItem");		map.put("submit.clear", "clear");		map.put("submit.over", "spend");		map.put("submit.buy", "buy");		return map;	}	public ActionForward modifyNumber(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response)			throws Exception {		HttpSession session = request.getSession();		Cart car = (Cart) session.getAttribute("car");		for (Integer i : car.getItems().keySet()) {			Item item = car.getItems().get(i);			String id = i.toString();			int amount = Integer.parseInt(request.getParameter(id));			item.setAmount(amount);			car.modifyItemNumber(item);		}		session.setAttribute("car", car);		return mapping.findForward("success");	}	public ActionForward deleteSelectedItem(ActionMapping mapping,			ActionForm form, HttpServletRequest request,			HttpServletResponse response) throws Exception {		ActionForward forward = mapping.findForward("success");		HttpSession session = request.getSession();		Cart car = (Cart) session.getAttribute("car");		try {			HashMap<Integer, Item> items = car.getItems();			Set<Integer> set = items.keySet();			Set<Integer> ii = new HashSet<Integer>();			// 迭代找出要删除的定单项item			for (Integer a : set) {				Item item = items.get(a);				String pname = item.getProduct().getPname();				System.out						.println(pname + "====" + request.getParameter(pname));				if (request.getParameter(pname) != null) {					ii.add(a);					// car.removeItemByProductId(a);				}			}			// 迭代删除找出的定单项item			for (Integer i : ii) {				car.removeItemByProductId(i);			}		} catch (Exception e) {			e.printStackTrace();			forward = mapping.findForward("error");		}		session.setAttribute("car", car);		return forward;	}	public ActionForward clear(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response)			throws Exception {		HttpSession session = request.getSession();		Cart car = (Cart) session.getAttribute("car");		car.clear();		session.setAttribute("car", car);		return mapping.findForward("success");	}	public ActionForward spend(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response)			throws Exception {		ActionForward forward = null;		try {			HttpSession session = request.getSession();			Cart car = (Cart) session.getAttribute("car");			User user = (User) session.getAttribute("user");			if (car == null || car.isEmpty()) {				forward = mapping.findForward("message");			} else if (user == null) {				String path = request.getServletPath();				session.setAttribute("path", path);				forward = mapping.findForward("login");			} else {				forward = mapping.findForward("order");			}		} catch (Exception e) {			e.printStackTrace();			saveErrors(request, getMessages("product.spend"));			forward = mapping.findForward("error");		}		return forward;	}	public ActionForward buy(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response)			throws Exception {		ActionForward forward = mapping.findForward("buy");		return forward;	}	private ActionMessages getMessages(String key) {		ActionMessages errors = new ActionMessages();		ActionMessage message = new ActionMessage(key);		errors.add("error", message);		return errors;	}}

⌨️ 快捷键说明

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