您的位置:首页 > 编程语言 > Java开发

JAVA分页代码实例

2013-03-12 09:20 417 查看

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>

-----------------------------------------------

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: