1 package org.springframework.samples.jpetstore.web.spring; 2 3 import java.util.HashMap ; 4 import java.util.Map ; 5 6 import javax.servlet.http.HttpServletRequest ; 7 import javax.servlet.http.HttpServletResponse ; 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 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 request, HttpServletResponse response) throws Exception { 28 Map model = new HashMap (); 29 String 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 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 |