1. 程式人生 > >ssm框架資料庫取資料在前臺分頁顯示

ssm框架資料庫取資料在前臺分頁顯示

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取資料程式碼省略