java分页代码用于jsp及java并带有测试方法

来源:互联网 发布:win7启动windows黑屏 编辑:程序博客网 时间:2024/06/05 04:17

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

public class FenYe
{
     static double allpage=0; //总页数
     static double currpage=0; //当前页
     static double pagesize=10; //显示行
     static int startindex=0; //起始索引
     static int endindex=0; //结束索引
     static List alldata=null; //分完的数据

    /**
     * 得到当前页
     * @return
     */
    public static  int getCurrpage() {
  return (int)currpage;
 }

    /**
     * 设置当前页
     * @param currpage
     */
 public void setCurrpage(int currpage) {
  currpage = currpage;
 }

 /**
  * 得到页大小(每页显示的行数)
  * @return
  */
 public static int getPagesize() {
  return (int)pagesize;
 }

 /**
  * 设置页大小(每页显示的行数)
  * @param pagesize
  */
 public  void setPagesize(int pagesize) {
  pagesize = pagesize;
 }

 public static List getFenYe(List indata,int curpage)
    {  
     if(curpage<=1){
      currpage=1;
     }else{
      currpage=curpage;      
     }
      allpage=(int)(Math.ceil(((double)indata.size())/pagesize));
     if(curpage>allpage){
      currpage=allpage;
     }
     startindex=(int) ((currpage-1)*pagesize);
     endindex=(int) ((currpage-1)*pagesize+pagesize);      
     if(endindex>=indata.size())
     {
      endindex=indata.size();
     }
     for(int i=startindex;i<endindex;i++){
      if(alldata==null){
       alldata=new ArrayList();
      }      
      alldata.add(indata.get(i));
     }
     
  return alldata;
    }
   
    public static void main(String[] args) {
  ArrayList ls=new ArrayList();
  for(int i=0;i<13;i++){
   ls.add(i);
  }
  
  List le=FenYe.getFenYe(ls,6);
  
  for(int i=0;i<le.size();i++){
   System.out.println(le.get(i)+"||");   
  }
  System.out.println("当前页"+FenYe.getCurrpage()+"|每页行数"+FenYe.getPagesize());
 }
}

原创粉丝点击