?? dishtocartcontroller.java.svn-base
字號:
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 + -