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

📄 dishtocartcontroller.java

📁 这是基于spring +hibernate的项目
💻 JAVA
字号:
package com.pure.web.spring;

import java.util.Iterator;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.util.WebUtils;

import com.pure.domain.Cart;
import com.pure.domain.CartItem;
import com.pure.domain.Dish;
import com.pure.domain.logic.DishFacade;
import com.pure.util.ParamUtil;

public class DishToCartController implements Controller {
	private DishFacade dishFacade;

	private String successView;

	public DishFacade getDishFacade() {
		return dishFacade;
	}

	public void setDishFacade(DishFacade dishFacade) {
		this.dishFacade = dishFacade;
	}

	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		Cart cart = (Cart) WebUtils.getOrCreateSessionAttribute(request.getSession(), "sessionCart", Cart.class);

		String action = ParamUtil.getString(request, "action");

		if ("add".equals(action)) {
			int dishId = ParamUtil.getInt(request, "dishId");
			Dish dish = this.getDishFacade().getDish(dishId);
			cart.addItem(dish);
			this.getDishFacade().hot(dishId);
		}

		if ("update".equals(action)) {
			Iterator cartItems = cart.getAllCartItems();
			String id = "";
			while (cartItems.hasNext()) {
				CartItem cartItem = (CartItem) cartItems.next();
				id = String.valueOf(cartItem.getDish().getId());
				try {
					int quantity = ParamUtil.getInt(request, "qty" + id);
					cart.setQuantityByItemId(id, quantity);
					if (quantity < 1) {
						cartItems.remove();
					}
				} catch (NumberFormatException e) {
				}
			}
		}

		if ("remove".equals(action)) {
			int dishId = ParamUtil.getInt(request, "dishId");
			cart.removeItemById(String.valueOf(dishId));
		}

		if ("clear".equals(action)) {
			cart.clearCart();
		}

		// TODO 有没有办法不保存在session而重定向,重定向的目的是防止用户刷新增加商品数量
		// request.getSession().setAttribute("cart",cart);
		// return new ModelAndView(new
		// RedirectView(request.getContextPath()+this.successView+".jsp"));
		return new ModelAndView("cart", "cart", cart);
	}

	public String getSuccessView() {
		return successView;
	}

	public void setSuccessView(String successView) {
		this.successView = successView;
	}

}

⌨️ 快捷键说明

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