📄 pager.java
字号:
package com.yourcompany.util;
import java.util.ArrayList;
import java.util.List;
import com.yourcompany.vo.User;
public class Pager {
private int currentPage=1;//当前页
private int totalPages=0;//总页数
private int pageRecorders=5;//每页5行
private int totalRows=0;//总行数
private int pageStartRow=0;//每页的起始行
private int pageEndRow=0;//每页显示的终止数
private boolean hasNextPage=false;//有没有下一页
private boolean hasPreviousPage=false;//有没有上一页
@SuppressWarnings("unused")
private List list;
/**
* 用于初始化,
* 也就是说,只要你传过来你一个list就可以分页
* @param list
*/
public Pager(List list){
this.list=list;
totalRows=list.size();
hasPreviousPage=false;
currentPage=1;
if(totalRows%pageRecorders==0){
totalPages=totalRows/pageRecorders;
}else{
totalPages=totalRows/pageRecorders+1;
}
if(currentPage>=totalPages){
hasNextPage=false;
}else{
hasNextPage=true;
}
if(totalRows<pageRecorders){
this.pageStartRow=0;
this.pageEndRow=totalRows;
}else{
this.pageStartRow=0;
this.pageEndRow=pageRecorders;
}
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public boolean isHasNextPage() {
return hasNextPage;
}
public void setHasNextPage(boolean hasNextPage) {
this.hasNextPage = hasNextPage;
}
public boolean isHasPreviousPage() {
return hasPreviousPage;
}
public void setHasPreviousPage(boolean hasPreviousPage) {
this.hasPreviousPage = hasPreviousPage;
}
public int getPageEndRow() {
return pageEndRow;
}
public void setPageEndRow(int pageEndRow) {
this.pageEndRow = pageEndRow;
}
public int getPageRecorders() {
return pageRecorders;
}
public void setPageRecorders(int pageRecorders) {
this.pageRecorders = pageRecorders;
}
public int getPageStartRow() {
return pageStartRow;
}
public void setPageStartRow(int pageStartRow) {
this.pageStartRow = pageStartRow;
}
public String getTotalPages() {
return this.toString(totalPages);
}
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
public String getTotalRows() {
return this.toString(totalRows);
}
public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
}
public void getFirstPage(){
currentPage=1;
hasPreviousPage=false;
if(currentPage>=totalPages){
hasNextPage=false;
}else{
hasNextPage=true;
}
}
public void getNextPage(){
currentPage=currentPage+1;
if((currentPage-1)>0){
hasPreviousPage=true;
}else{
hasPreviousPage=false;
}
if(currentPage>=totalPages){
hasNextPage=false;
}else{
hasNextPage=true;
}
}
public void getPreviousPage(){
currentPage=currentPage-1;
if(currentPage==0){
currentPage=1;
}
if(currentPage>=totalPages){
hasNextPage=false;
}else{
hasNextPage=true;
}
if((currentPage-1)>0){
hasPreviousPage=true;
}else{
hasPreviousPage=false;
}
}
public void getLastPage(){
currentPage=totalPages;
if(currentPage==0){
currentPage=1;
}
hasNextPage=false;
if((currentPage-1)>0){
hasPreviousPage=true;
}else{
hasPreviousPage=false;
}
}
public void setGotoPage(int gotoPage){
this.currentPage=gotoPage;
hasNextPage=true;
hasPreviousPage=true;
if(currentPage<=1){
currentPage=1;
hasNextPage=true;
hasPreviousPage=false;
}
if(currentPage>=totalPages){
currentPage=totalPages;
hasNextPage=false;
hasPreviousPage=true;
}
}
@SuppressWarnings("unchecked")
public List getPageList(){
if(currentPage*pageRecorders<totalRows){
pageEndRow=currentPage*pageRecorders;
pageStartRow=pageEndRow-pageRecorders;
}else{
pageEndRow=totalRows;
pageStartRow=pageRecorders*(totalPages-1);
}
System.out.println("start"+pageStartRow);
System.out.println("end"+pageEndRow);
List templist=new ArrayList();
int j=0;
for(int i=pageStartRow;i<pageEndRow;i++){
User user=(User)list.get(i);
templist.add(j,user);
j++;
}
return templist;
}
public String toString(int temp){
return Integer.toString(temp);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -