KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.springframework.samples.jpetstore.web.spring;
2
3 import java.util.HashMap JavaDoc;
4 import java.util.Map JavaDoc;
5
6 import javax.servlet.http.HttpServletRequest JavaDoc;
7 import javax.servlet.http.HttpServletResponse JavaDoc;
8
9 import org.springframework.beans.support.PagedListHolder;
10 import org.springframework.samples.jpetstore.domain.Product;
11 import org.springframework.samples.jpetstore.domain.logic.PetStoreFacade;
12 import org.springframework.web.servlet.ModelAndView;
13 import org.springframework.web.servlet.mvc.Controller;
14
15 /**
16  * @author Juergen Hoeller
17  * @since 30.11.2003
18  */

19 public class ViewProductController implements Controller {
20
21     private PetStoreFacade petStore;
22
23     public void setPetStore(PetStoreFacade petStore) {
24         this.petStore = petStore;
25     }
26
27     public ModelAndView handleRequest(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) throws Exception JavaDoc {
28         Map JavaDoc model = new HashMap JavaDoc();
29         String JavaDoc productId = request.getParameter("productId");
30         if (productId != null) {
31             PagedListHolder itemList = new PagedListHolder(this.petStore.getItemListByProduct(productId));
32             itemList.setPageSize(4);
33             Product product = this.petStore.getProduct(productId);
34             request.getSession().setAttribute("ViewProductAction_itemList", itemList);
35             request.getSession().setAttribute("ViewProductAction_product", product);
36             model.put("itemList", itemList);
37             model.put("product", product);
38         }
39         else {
40             PagedListHolder itemList = (PagedListHolder) request.getSession().getAttribute("ViewProductAction_itemList");
41             Product product = (Product) request.getSession().getAttribute("ViewProductAction_product");
42             String JavaDoc page = request.getParameter("page");
43             if ("next".equals(page)) {
44                 itemList.nextPage();
45             }
46             else if ("previous".equals(page)) {
47                 itemList.previousPage();
48             }
49             model.put("itemList", itemList);
50             model.put("product", product);
51         }
52         return new ModelAndView("Product", model);
53     }
54
55 }
56
Popular Tags