我正在尝试使用
Spring MVC和Hibernate实现分页.
这是我的DAO层:
private static final int LIMITITEMSPERPAGE = 6;
public List<Video> listVideosByKids(int page) {
Query query = sessionFactory.getCurrentSession().createQuery("from Video where type=1");
query.setMaxResults(LIMITITEMSPERPAGE);
query.setFirstResult(page * LIMITITEMSPERPAGE);
return (List<Video>) query.list();
}
这是我的控制器:
@RequestMapping("/list")
public String listKids(@RequestParam(value = "page") int page, ModelMap model) {
model.addAttribute("listVideos", videoService.listVideosByKids(page));
return "/kids/list";
}
当我像这样去URL:
http://localhost:8080/kids/list/?page=0
我从数据库中获得前6项,一切正常.
但我想获得前6个项目而不在URL中获取param页面,只是:
http://localhost:8080/kids/list/
但如果我打开网址:
http://localhost:8080/kids/list/?page=1
然后我得到第二个6项.
有任何想法吗?
最佳答案 当你点击http:// localhost:8080 / kids / list / request时,param页面丢失了.您可以为false添加默认值.
@RequestMapping("/list")
public String listKids(@RequestParam(value = "page", defaultValue="0", required=false) int page, ModelMap model) {
model.addAttribute("listVideos", videoService.listVideosByKids(page));
return "/kids/list";
}