分页

JAVA分页代码实例 

关键字: java分页代码实例 
package com.hjf.web.view; 

public class PageUtil ...{ 
    private int pageSize;//每页显示的条数 
    private int recordCount;//总共的条数 
    private int currentPage;//当前页面 
    public PageUtil(int pageSize, int recordCount, int currentPage) ...{ 
            this.pageSize = pageSize; 
            this.recordCount = recordCount; 
            setCurrentPage(currentPage); 
        } 
         //构造方法 
        public PageUtil(int pageSize, int recordCount) ...{ 
            this(pageSize, recordCount, 1); 
        } 
        //总页数 
        public int getPageCount() ...{ 
            int size = recordCount/pageSize;//总条数/每页显示的条数=总页数 
            int mod = recordCount % pageSize;//最后一页的条数 
            if(mod != 0) 
                size++; 
            return recordCount == 0 ? 1 : size; 
        } 
        //包含,起始索引为0 
        public int getFromIndex() ...{ 
            //System.out.println("from index:"+(currentPage-1) * pageSize); 
            return (currentPage-1) * pageSize; 
        } 
        //不包含 
        public int getToIndex() ...{ 
            //System.out.println("to index:"+Math.min(recordCount, currentPage * pageSize)); 
            return  Math.min(recordCount, currentPage * pageSize); 
        } 
        //得到当前页 
        public int getCurrentPage() ...{ 
            return currentPage; 
        }//设置当前页 
        public void setCurrentPage(int currentPage) ...{ 
            int validPage = currentPage <= 0 ? 1 : currentPage; 
            validPage = validPage > getPageCount() ? getPageCount() : validPage; 
            this.currentPage = validPage; 
        }//得到每页显示的条数 
        public int getPageSize() ...{ 
            return pageSize; 
        }//设置每页显示的条数 
        public void setPageSize(int pageSize) ...{ 
            this.pageSize = pageSize; 
        }//得到总共的条数 
        public int getRecordCount() ...{ 
            return recordCount; 
        }//设置总共的条数 
        public void setRecordCount(int recordCount) ...{ 
            this.recordCount = recordCount; 
        } 









-------------------------------------------- 
下面的代码是放在jsp里面的 
-------------------------------------------- 
<% 
PublishersDAO dao = PublishersDAO.getInstance(); 
List records = dao.getModels(); 
String pageStr = request.getParameter("page"); 
int currentPage = 1; 
if (pageStr != null) 
currentPage = Integer.parseInt(pageStr); 
PageUtil pUtil = new PageUtil(10, records.size(), currentPage); 
currentPage = pUtil.getCurrentPage(); 
%> 
-----------下面这个是放在有变量的上面--------------------------------- 
<% 
for (int i = pUtil.getFromIndex(); i < pUtil.getToIndex(); i++) { 
PublisherModel model = (PublisherModel) records.get(i); 
%> 
中间是删除修改之类的代码 
<%}%> 
------------这个是结尾的-------------------------- 
<tr><td width=100% bgcolor="#eeeeee" colspan=4 align="center"> 
记录总数<%=pUtil.getRecordCount()%>条 当前页/总页数<%=currentPage%> 
/<%=pUtil.getPageCount()%>每页显示<%=pUtil.getPageSize()%>条 
<a href="publishers.jsp?page=1">首页</a> 
<a href="publishers.jsp?page=<%=(currentPage - 1)%>">上页</a> 
<a href="publishers.jsp?page=<%=(currentPage + 1)%>">下页</a> 
<a href="publishers.jsp?page=<%=pUtil.getPageCount()%>">末页</a> 
</td></tr>

posted @ 2016-02-15 18:06  guodaxia  阅读(114)  评论(0)    收藏  举报