ssm框架資料庫取資料在前臺分頁顯示
阿新 • • 發佈:2019-01-25
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取資料程式碼省略