1 package org.springframework.samples.jpetstore.web.spring; 2 3 import javax.servlet.http.HttpServletRequest ; 4 import javax.servlet.http.HttpServletResponse ; 5 6 import org.springframework.beans.support.PagedListHolder; 7 import org.springframework.samples.jpetstore.domain.logic.PetStoreFacade; 8 import org.springframework.web.servlet.ModelAndView; 9 import org.springframework.web.servlet.mvc.Controller; 10 11 15 public class SearchProductsController implements Controller { 16 17 private PetStoreFacade petStore; 18 19 public void setPetStore(PetStoreFacade petStore) { 20 this.petStore = petStore; 21 } 22 23 public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { 24 if (request.getParameter("search") != null) { 25 String keyword = request.getParameter("keyword"); 26 if (keyword == null || keyword.length() == 0) { 27 return new ModelAndView("Error", "message", "Please enter a keyword to search for, then press the search button."); 28 } 29 else { 30 PagedListHolder productList = new PagedListHolder(this.petStore.searchProductList(keyword.toLowerCase())); 31 productList.setPageSize(4); 32 request.getSession().setAttribute("SearchProductsController_productList", productList); 33 return new ModelAndView("SearchProducts", "productList", productList); 34 } 35 } 36 else { 37 String page = request.getParameter("page"); 38 PagedListHolder productList = (PagedListHolder) request.getSession().getAttribute("SearchProductsController_productList"); 39 if ("next".equals(page)) { 40 productList.nextPage(); 41 } 42 else if ("previous".equals(page)) { 43 productList.previousPage(); 44 } 45 return new ModelAndView("SearchProducts", "productList", productList); 46 } 47 } 48 49 } 50 | Popular Tags |