package com.test.list.page;
import java.util.List;
/**
* list 伪分页
*/
public class PageDao { /**
* @param list
* @param nowPage 当前页
* @param pageNote 每一页显示的条数
*/
// 将集合分页
public List distributePage(List list, int nowPage, int pageNote) {
List pageList = null;
PageVo vo = new PageVo();
vo = this.encapsulationPage(list, nowPage, pageNote);//当前页,每一页显示的条数
pageList = list.subList(vo.getNowPage() * vo.getPageNote() - vo.getPageNote(), list.size());
if (pageList.size() > vo.getPageNote()) {
pageList = list.subList(vo.getNowPage() * vo.getPageNote() - vo.getPageNote(), vo.getNowPage()
* vo.getPageNote());
}
return pageList;
} // 封装页面属性
public PageVo encapsulationPage(List list, int nowPage, int pageNote) {
PageVo page = new PageVo();
page.setHeadPage(1);
page.setPageNote(pageNote);
page.setConutNote(list);
page.setCountPage(list);
page.setNowPage(nowPage);
page.setNextPage(nowPage);
page.setPreviousPage(nowPage);
return page;
}}
// /:~
public class PageVo {
private int countPage;// 总页数
private int conutNote;// 总条数
private int previousPage;// 上一页
private boolean previous;// 判断上一页
private int nextPage;// 下一页
private boolean next;// 判断下一页
private int nowPage;// 当前页
private int headPage;// 首页
private int pageNote;// 每一页显示的条数 public int getConutNote() {
return conutNote;
} public void setConutNote(List list) {
this.conutNote = list.size();
} public int getCountPage() {
return countPage;
} public void setCountPage(List list) {
if (list.isEmpty()) {
this.countPage = 1;
} else if (list.size() == 0) {
this.countPage = 1;
} else {
this.countPage = list.size() % this.getPageNote() == 0 ? list.size() / this.getPageNote() : list.size()
/ this.getPageNote() + 1;
}
}
public int getNextPage() {
if (this.nextPage <= this.countPage) {
this.nextPage++;
}
return this.nextPage;
} public void setNextPage(int nextPage) {
this.nextPage = nextPage;
} public int getNowPage() {
return nowPage;
} public void setNowPage(int nowPage) {
if (nowPage > this.countPage) {
nowPage = 1;
}
this.nowPage = nowPage;
} public int getPageNote() {
return pageNote;
} public void setPageNote(int pageNote) {
this.pageNote = pageNote;
} public int getPreviousPage() {
if (this.previousPage > this.headPage) {
this.previousPage--;
}
return previousPage;
} public void setPreviousPage(int previousPage) {
this.previousPage = previousPage;
} public boolean isNext() {
if (this.nextPage > this.countPage || this.countPage == this.headPage) {
this.next = false;
} else {
this.next = true;
}
return this.next;
} public void setNext(boolean next) {
this.next = next;
} public boolean isPrevious() {
if (this.nowPage <= this.headPage) {
this.previous = false;
}else {
this.previous = true;
}
return this.previous;
} public void setPrevious(boolean previous) {
this.previous = previous;
} /**
* @return the headPage
*/
public int getHeadPage() {
return headPage;
} /**
* @param headPage the headPage to set
*/
public void setHeadPage(int headPage) {
this.headPage = headPage;
}
}
package com.test.list.page;
import java.util.ArrayList;
import java.util.List;
public class TestPagerModel {
public static void main(String args[]) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
list.add("f");
list.add("g");
list.add("h");
list.add("i");
list.add("j");
list.add("k");
PageDao page=new PageDao();
List sublist= page.distributePage(list, 1, 5);
PageVo vo=page.encapsulationPage(list, 1, 5);
System.out.println("当前页:"+vo.getNowPage());
System.out.println("下一页:"+vo.getNextPage());
System.out.println("总页数:"+vo.getCountPage());
System.out.println("前一页:"+vo.getPreviousPage());
System.out.println("HeadPage:"+vo.getHeadPage());
System.out.println("是否有下一页:"+vo.isNext());
System.out.println("是否有前一页:"+vo.isPrevious()); for(int i = 0; i < sublist.size(); i++) {
System.out.println("sublist:"+sublist.get(i));
}
} }