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

📄 cartaction.java

📁 这是一个网上书店
💻 JAVA
字号:
package com.ebookstore.struts.action;

import java.util.Iterator;

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 com.ebookstore.dto.Cart;
import com.ebookstore.dto.CartItem;
import com.ebookstore.dto.Item;
import com.ebookstore.struts.form.CartForm;

public class CartAction extends BaseAction {
	/**
	 * 将图书添加到购物车
	 */
	public ActionForward addItem(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		CartForm cartForm = (CartForm) form;
		//得到当前购物车对象
		Cart cart = cartForm.getCart();
		String itemId = cartForm.getItemId();
		//更新购物车
		if (cart.containsItemId(itemId)) {//如果购物车中已存在该图书,则数量加1
			cart.incrementQuantityByItemId(itemId);
		} else {
			int id = -1;
			try {
				id = Integer.parseInt(itemId);
			} catch (Exception e) {
				;
			}
			//否则,将增加一个购物车明细
			Item item = this.getEBookStore().getCartService().findItemById(id);
			cart.addItem(item);
		}
		return mapping.findForward("success");
	}
	/**
	 * 移除购物车明细
	 */
	public ActionForward removeItem(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		CartForm cartForm = (CartForm) form;
		//移出购物车明细
		cartForm.getCart().removeItemById(cartForm.getItemId());
		return mapping.findForward("success");
	}
	/**
	 * 更新数量
	 */
	public ActionForward updateQuantity(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		CartForm cartForm = (CartForm) form;
		//获得购物车所有的明细
		Iterator cartItems = cartForm.getCart().getAllCartItems();
		while (cartItems.hasNext()) {
			CartItem cartItem = (CartItem) cartItems.next();
			String itemId = cartItem.getItem().getItemId() + "";
			try {
				int quantity = Integer.parseInt(request.getParameter("quantity_"+itemId));
				//重新设置明细数量
				cartForm.getCart().setQuantityByItemId(itemId, quantity);
				//如果是-1则移除
				if (quantity < 1) {
					cartItems.remove();
				}
			} catch (NumberFormatException e) {
			}
		}
		return mapping.findForward("success");
	}
	/**
	 * 结帐
	 */
	public ActionForward checkout(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		return mapping.findForward("checkout");
	}
	/**
	 * 查看购物车
	 */
	public ActionForward viewCart(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		return mapping.findForward("success");
	}

}

⌨️ 快捷键说明

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