PagedListHolder 类是Spring中对List进行分页的类,比如list中有100个元素,PagedListHolder可以将其分割成若干个list,每个list中包含指定数量的元素
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]
}
}