JSP的分页实现!

package com.gc.tool;

import java.util.ArrayList;
import java.util.List;

public class MyPagination {
    private int recordCount = 0;
   
    private int pagesize = 0;
   
    private int maxPage = 0;
   
    private int page = 0;
   
    public int getMaxPage(){
        int maxPage = (recordCount%pagesize == 0)?(recordCount/pagesize):(recordCount/pagesize+1);
        return maxPage;
    }
   
    public int getPage(String str){
        if(str == null){
            str = "0";
        }
        int page = Integer.parseInt(str);
        if(page<1){
            page = 1;
        }else{
            if(page > maxPage){
                page = maxPage;
            }
        }
        return page;
    }
   
    @SuppressWarnings("unchecked")
    public List getInitPage(List list, String page,int pageSize){
        this.recordCount = list.size();
        this.pagesize = pageSize;
        this.maxPage = getMaxPage();
        this.page = getPage(page);
        List<Object> newList = new ArrayList<Object>();
        recordCount = list.size();
        try{
            for(int i = (this.page-1)*pagesize; i<=this.page*pagesize-1;i++){
                    if(i>=recordCount){break;}
                newList.add(list.get(i));
            }
        }catch(Exception e){
            e.printStackTrace();
        }
        return newList;
    }
   
    public String printCtrl(){
        String strHtml = "<table width='370' border = '0' cellpadding='0'><tr><td height = '24' align = 'right'> 当前页数 :["+ page + "/" + maxPage + "]&nbsp;&nbsp";
        try{
            if(page > 1){
                strHtml = strHtml + "<a href= '/mySSH/find.do?page=1'>第一頁</a>";
                strHtml = strHtml + "&nbsp;&nbsp;<a href='/mySSH/find.do?page="+(page-1)+"'>上一頁</a>";
            }
            if(page < maxPage){
                strHtml = strHtml + "&nbsp;&nbsp;<a href='/mySSH/find.do?page="+(page+1)+"'>下一頁</a>&nbsp;&nbsp;<a href='?page="+maxPage+"'>最後一頁&nbsp;</a>";
            }
            strHtml = strHtml + "</td><tr></table>";
        }catch(Exception e){
            e.printStackTrace();
        }
        return strHtml;
    }

}

在JSP中调用上面的分页类就可以了!

关键是思想就是将大List转化成效List,然后输出分页的标签!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值