Spring中的分页类PagedListHolder

PagedListHolder 类是Spring中对List进行分页的类,比如list中有100个元素,PagedListHolder可以将其分割成若干个list,每个list中包含指定数量的元素


package test;

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

import org.springframework.beans.support.PagedListHolder;

public class PagedListHolderTest {
    public static void main(String[] args) {
        
        PagedListHolder pagedList=new PagedListHolder();
        //也可以在构造方法中直接传入List集合
        //List list =new ArrayList();
        //PagedListHolder pageList=new PagedListHolder(list);
        pagedList.setPageSize(10);//设置每一页的元素数量
        List list =new ArrayList();
        pagedList.setSource(list);
        for (int i=0;i<30;i++){
            list.add("object"+i);
        }
        //操作
        int count= pagedList.getPageCount();//得到总页数
        System.out.println("总页数是:"+count);// 输出:总页数是:3
        for(int j=0;j++<count;pagedList.nextPage()){//pagedList.nextPage(),相当于翻页。如果已经是最后一页,得到的还是最后一页
            Iterator it = pagedList.getPageList().iterator();//得到当前页并迭代当前页的元素
            System.out.println("*********第"+(pagedList.getPage()+1)+"页的元素开始*********");
            while(it.hasNext()){
                String str=(String) it.next();
                System.out.print(str+"  ");
            }
            System.out.println();
            System.out.println("*********第"+(pagedList.getPage()+1)+"页的元素结束*********");
            
        }
        //总页数是:3
        if(pagedList.isLastPage()){
            System.out.println("最后一页"+(pagedList.getPage()+1));//pagedList.getPage()得到当前页的页码,第一页为0
            //输出:
//            *********第1页的元素开始*********
//            object0  object1  object2  object3  object4  object5  object6  object7  object8  object9  
//            *********第1页的元素结束*********
//            *********第2页的元素开始*********
//            object10  object11  object12  object13  object14  object15  object16  object17  object18  object19  
//            *********第2页的元素结束*********
//            *********第3页的元素开始*********
//            object20  object21  object22  object23  object24  object25  object26  object27  object28  object29  
//            *********第3页的元素结束*********
        }
        
        
        
        System.out.println(pagedList.getFirstElementOnPage());//得到当前页第一个元素在list中的索引 输出:
        System.out.println(pagedList.getLastElementOnPage());//得到当前页最后一个元素在list中的索引 输出:
        System.out.println(pagedList.getPageCount());//输出:3
        
        pagedList.setPage(2);//设置当前页的页数,页数从0开始
        List page2=pagedList.getPageList();//得到当前页的元素
        System.out.println(page2.toString());//输出:[object20, object21, object22, object23, object24, object25, object26, object27, object28, object29]
                
    }
    
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值