CitizenController.java :  » Search » hibernate-generic-dao » sample » googlecode » genericdao » oldworld » web » Java Open Source

Java Open Source » Search » hibernate generic dao 
hibernate generic dao » sample » googlecode » genericdao » oldworld » web » CitizenController.java
package sample.googlecode.genericdao.oldworld.web;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import sample.googlecode.genericdao.oldworld.model.Citizen;
import sample.googlecode.genericdao.oldworld.service.CitizenService;
import sample.googlecode.genericdao.oldworld.webhelps.Util;

import com.googlecode.genericdao.search.Search;
import com.googlecode.genericdao.search.SearchResult;

@Controller
public class CitizenController {
  CitizenService citizenService;

  @Autowired
  public void setCitizenService(CitizenService citizenService) {
    this.citizenService = citizenService;
  }
  
  @RequestMapping
  public void list(HttpServletRequest request, Model model) {
    Search search = new Search();
    search.setMaxResults(10);
    //Fill in the sort, paging, filters from request parameters automatically.
    Util.getSearchFromParams(search, request.getParameterMap());
    
    SearchResult<Citizen> results = citizenService.searchAndCount(search);
    model.addAttribute(results.getResult());
    model.addAttribute("pageCount", (results.getTotalCount() + 9) / 10);
    model.addAttribute("page", search.getPage() < 0 ? 1 : search.getPage() + 1);
  }
  
  @RequestMapping
  public String delete(@RequestParam("id") Long id, HttpServletRequest request) {
    citizenService.delete(id);
    //Preserve the search parameters over redirect by adding them to the URL.
    return Util.addSearchParamsToURL("redirect:list.do", request.getParameterMap(), true, true, true);
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.