jsp代码
<div class="m_connect_page">
<p>共<span style="font-size: 20px;">${pageUtil.pageCount }</span>页</p>
<div class="page_limit">
<ul>
<li><a href="index.jsp?pageIndex=1" >首页</a></li>
<li><a href="index.jsp?pageIndex=${pageUtil.pageIndex>1?pageUtil.pageIndex-1:1}">上一页</a></li>
<c:forEach begin="1" end="${pageUtil.pageCount}" var="i">
<c:choose>
<c:when test="${i==pageUtil.pageIndex}">
<li><a href="index.jsp?pageIndex=${i}" style="background: #c90a16;color: white;">${i }</a></li>
</c:when>
<c:otherwise>
<li><a href="index.jsp?pageIndex=${i}">${i }</a></li>
</c:otherwise>
</c:choose>
</c:forEach>
<li ><a href="index.jsp?pageIndex=${pageUtil.pageIndex<pageUtil.pageCount?pageUtil.pageIndex+1:pageUtil.pageCount}">下一页</a></li>
<li ><a href="index.jsp?pageIndex=${pageUtil.pageCount}">尾页</a></li>
</ul>
</div>
</div>
pageutil工具类代码
package com.etc.util;
import java.util.List;
public class PageUtil<T> {
// 属性有 总记录数,总页数,当前页,每页大小,当前页的数据
private int pageNumber;
private int pageCount;
private int pageIndex;
private int pageSize;
private List<T> list;
public int getPageNumber() {
return pageNumber;
}
public void setPageNumber(int pageNumber) {
this.pageNumber = pageNumber;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public int getPageIndex() {
return pageIndex;
}
public void setPageIndex(int pageIndex) {
this.pageIndex = pageIndex;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
}
croller类主要代码
//pageindex为当前页
int pageIndex =1;
if(request.getParameter("pageIndex")!=null)
pageIndex = Integer.parseInt(request.getParameter("pageIndex"));
if(id==null||"".equals(id)){
//从后台取出bloglist,10表示pagesize=10,每页10条数据,
List<Blog>bloglist=blogRecommendService.getAllBlogsPage(pageIndex,10);
//将bloglist封装到pageutil类中
PageUtil<Blog>pageUtil=new PageUtil<Blog>();
pageUtil.setList(bloglist);
//pagenumber表示共多少条数据
int pageNumber=blogRecommendService.getBlogsPageCount();
//pagecount表示多少页
int pageCount=(int)Math.ceil(pageNumber/10);
if(pageCount<1)
pageCount=1;
pageUtil.setPageCount(pageCount);
pageUtil.setPageNumber(pageNumber);
pageUtil.setPageIndex(pageIndex);
//System.out.println("filer2"+bloglist);
request.setAttribute("blogallpages", bloglist);
request.setAttribute("pageUtil", pageUtil);
service层主要代码
public List<Blog> getAllBlogsPage(int pageIndex,int pageSize){
List<Blog> list=blogDao.getBlogsPage( (pageIndex-1) * pageSize, pageSize,null);
return list;
}
public int getBlogsPageCount(){
return blogDao.getBlogsPageCount(null);
}
dao层主要代码
/**
* 以分页形式获取博客列表
*
* @param pageIndex
* 表示当前页数,如果没有,则表示不进行分页搜索
* @param pageSize
* 表示每页大小,如果没有,则表示不进行分页搜索
* @param blog
* 是一个Blog实体,查询条件,可以没有,条件为以下几种之一<br/>
* 1. 博客标题,模糊搜索<br/>
* 2. 用户编号 + 个人分类编号<br/>
* 3. 用户编号<br/>
* 4. 博客分类编号<br/>
* 5. 个人分类编号<br/>
* 6. 发布时间<br/>
* 7. 博客状态<br/>
* 8. 博客举报数(可以查询举报数大于等于指定数量的博客)<br/>
* @return 查询的博客列表集合
*/
List<Blog> getBlogsPage(@Param("pageIndex") Integer pageIndex,
@Param("pageSize") Integer pageSize, @Param("blog") Blog blog);
int getBlogsPageCount(@Param("blog") Blog blog);
dao.xml取数据代码省略