KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > springframework > samples > jpetstore > web > spring > UpdateCartQuantitiesController


1 package org.springframework.samples.jpetstore.web.spring;
2
3 import java.util.Iterator JavaDoc;
4
5 import javax.servlet.http.HttpServletRequest JavaDoc;
6 import javax.servlet.http.HttpServletResponse JavaDoc;
7
8 import org.springframework.samples.jpetstore.domain.Cart;
9 import org.springframework.samples.jpetstore.domain.CartItem;
10 import org.springframework.web.servlet.ModelAndView;
11 import org.springframework.web.servlet.mvc.Controller;
12 import org.springframework.web.util.WebUtils;
13
14 /**
15  * @author Juergen Hoeller
16  * @since 30.11.2003
17  */

18 public class UpdateCartQuantitiesController implements Controller {
19
20     public ModelAndView handleRequest(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) throws Exception JavaDoc {
21         Cart cart = (Cart) WebUtils.getOrCreateSessionAttribute(request.getSession(), "sessionCart", Cart.class);
22         Iterator JavaDoc cartItems = cart.getAllCartItems();
23         while (cartItems.hasNext()) {
24             CartItem cartItem = (CartItem) cartItems.next();
25             String JavaDoc itemId = cartItem.getItem().getItemId();
26             try {
27                 int quantity = Integer.parseInt(request.getParameter(itemId));
28                 cart.setQuantityByItemId(itemId, quantity);
29                 if (quantity < 1) {
30                     cartItems.remove();
31                 }
32             }
33             catch (NumberFormatException JavaDoc e) {
34                 //ignore on purpose
35
}
36         }
37         return new ModelAndView("Cart", "cart", cart);
38     }
39
40 }
41
Popular Tags