KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.springframework.samples.jpetstore.web.spring;
2
3 import javax.servlet.http.HttpServletRequest JavaDoc;
4 import javax.servlet.http.HttpServletResponse JavaDoc;
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 /**
12  * @author Juergen Hoeller
13  * @since 30.11.2003
14  */

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 JavaDoc request, HttpServletResponse JavaDoc response) throws Exception JavaDoc {
24         if (request.getParameter("search") != null) {
25             String JavaDoc 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 JavaDoc 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