我正在尝试使用Hibernate在Spring MVC中实现分页。我试着遵循一些教程,没有运气。详细说明会很棒。
DAO实施:
public List<Blog> getBlogList() {
Session session = sessionFactory.openSession();
Query query = session.createQuery("From Blog ORDER BY postCreated DESC");
query.setFirstResult(0);
query.setMaxResults(5);
List<Blog> blogList = query.list();
// total count
String countQ = "SELECT count (b.id) from Blog b";
Query countQuery = session.createQuery(countQ);
Long countResults = (Long)countQuery.uniqueResult();
// last page
int pageSize = 5;
int lastPageNumber = (int) ((countResults / pageSize) + 1);
return blogList;
}
控制器:
@RequestMapping(method = RequestMethod.GET)
public ModelAndView listAllBlogPosts(ModelMap model) {
ModelAndView mav = new ModelAndView(ADD_NEW_BLOG_POST);
model.addAttribute("blog", new Blog());
model.addAttribute("blogList", blogService.getBlogList());
return mav;
}
JSP:
<%@ include file="/WEB-INF/views/includes/taglibs.jsp" %>
<div class="blog">
<c:forEach items="${blogList}" var="blog">
<h1>${blog.title}</h1>
<p class="lead"><i class="fa fa-user"></i> by ${blog.author}</p>
<p class="fa fa-calendar"> Posted on <span
class="badge badge-success">${blog.postCreated}</span></p>
<p><span>${blog.content}</span></p>
<p class="fa fa-tags"><a href=""><span class="badge badge-info">Random</span></a></p>
<hr>
</c:forEach>
我想计算页面总页数,最近发布的5个帖子以及页面底部的分页按钮,以导航到另一个页面。