3.2.5 分页查询控制器
列表数据的查询使用分页的方法,按提供的查询字段参数、页码、页大小及其排序字段等参数,通过调用数据管理模块进行查询,然后返回一个分页对象Page,如代码清单3-8所示。这里的分页查询调用了3.1.3节定义的分页查询服务类。
代码清单3-8 电影分页查询控制器
@RequestMapping(value="/list")
public
Page<Movie> list(HttpServletRequest request) throws Exception{
String name =
request.getParameter("name");
String page =
request.getParameter("page");
String size =
request.getParameter("size");
Pageable pageable = new
PageRequest(page==null? 0: Integer.parseInt(page),
size==null?
10:Integer.parseInt(size),
new Sort(Sort.Direction.DESC,
"id"));
Filters filters = new Filters();
if (!StringUtils.isEmpty(name)) {
Filter filter = new
Filter("name", name);
filters.add(filter);
}
return pagesService.findAll(Movie.class,
pageable, filters);
}