⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pagebean.java

📁 实现复杂的分页查询
💻 JAVA
字号:
package jp.co.ttc.sample.bean;
import java.util.*;

public class PageBean {
	   int currentPage=1;  //current page
	   public  int totalPages=0;  //total page
	   int pageRecorders=3;//every page 20
	   int totalRows=0;  //total resultcount
	   int pageStartRow=0;//start resultcount
	   int pageEndRow=0;  //end resultcount
	   boolean hasNextPage=false; //nextpage
	   boolean hasPreviousPage=false; //previouspage
	   ArrayList arrayList;
	   Iterator it;
	   public PageBean(){}
	           
	   public PageBean(ArrayList arrayList){
	           this.arrayList=arrayList;        
	           totalRows=arrayList.size();                
	           it=arrayList.iterator();         
	           hasPreviousPage=false;
	           currentPage=1;
	           //calculate total page
	           if((totalRows%pageRecorders)==0)
	           {
	                   totalPages=totalRows/pageRecorders;         
	           }
	           else
	           {
	                   totalPages=totalRows/pageRecorders+1;        
	           }        
	           //configure nextpage
	           if(currentPage>=totalPages)  
	           {
	                   hasNextPage=false;        
	           }
	           else                        
	           {
	                   hasNextPage=true;
	           }
               
	           if(totalRows<pageRecorders) 
	           {
	            this.pageStartRow=1;           
	            this.pageEndRow=totalRows;   
	           }
	           else                       
	           {
	            this.pageStartRow=1;   
	            this.pageEndRow=pageRecorders;   
	           }
	   }

	           /**
	            * @return Returns the currentPage.
	            */
	           public String getCurrentPage() {
	                   return this.toString(currentPage);
	           }
	           /**
	            * @param currentPage The currentPage to set.
	            */
	           public void setCurrentPage(int currentPage) {
	                   this.currentPage = currentPage;
	           }
	           /**
	            * @return Returns the pageRecorders.
	            */
	           public int getPageRecorders() {
	                   return pageRecorders;
	           }
	           /**
	            * @param pageRecorders The pageRecorders to set.
	            */
	           public void setPageRecorders(int pageRecorders) {
	                   this.pageRecorders = pageRecorders;
	           }
	           /**
	            * @return Returns the pageEndRow.
	            */
	           public int getPageEndRow() {
	                   return pageEndRow;
	           }
	           /**
	            * @return Returns the pageStartRow.
	            */
	           public int getPageStartRow() {
	                   return pageStartRow;
	           }
	           /**
	            * @return Returns the totalPages.
	            */
	           public String getTotalPages() {
	           
	                   return this.toString(totalPages);
	           }
	           /**
	            * @return Returns the totalRows.
	            */
	           public String getTotalRows() {
	                   return this.toString(totalRows);
	           }
	           /**
	            * @return Returns the hasNextPage.
	            */
	           public boolean isHasNextPage() {
	                   return hasNextPage;
	           }
	           /**
	            * @param hasNextPage The hasNextPage to set.
	            */
	           public void setHasNextPage(boolean hasNextPage) {
	                   this.hasNextPage = hasNextPage;
	           }
	           /**
	            * @return Returns the hasPreviousPage.
	            */
	           public boolean isHasPreviousPage() {
	                   return hasPreviousPage;
	           }
	           /**
	            * @param hasPreviousPage The hasPreviousPage to set.
	            */
	           public void setHasPreviousPage(boolean hasPreviousPage) {
	                   this.hasPreviousPage = hasPreviousPage;
	           }
	   public Message[] getNextPage(){
		       System.out.println(this.getCurrentPage());
	           currentPage=currentPage+1;
	           if((currentPage-1)>0)
	           {
	                   hasPreviousPage=true;        
	           }
     	       else
	           {
	               hasPreviousPage=false;        
	           }
	           if(currentPage>=totalPages) 
	           {
	                   hasNextPage=false;        
	           }
	           else
	           {
	                   hasNextPage=true;
	           }
               Message[] messages=getMessages();
	           this.description();
	           
	           return messages;
	   }

	   public Message[] 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;        
	       }
	           Message[] messages=getMessages();
	           this.description();
	           return messages;
	   }

	   public Message[] getMessages(){
	    
           
	           
	           if(currentPage*pageRecorders<totalRows){
	               pageEndRow=currentPage*pageRecorders;
	               pageStartRow=pageEndRow-pageRecorders+1;
	           }
	           else{
	                   pageEndRow=totalRows;
	                   if (totalRows == 0)
	                   { pageStartRow = 0;}         	   
	                   else
	                   {pageStartRow=pageRecorders*(totalPages-1)+1;}
	           }
	           Message[] messages=new Message[pageEndRow-pageStartRow+1];
	           int j=0;    
	           if(pageEndRow != 0)
	           {
	           for(int i=pageStartRow;i<=pageEndRow;i++)
	           {
	           
	        	Message message=(Message)arrayList.get(i-1);        
	        	messages[j++]=message;          
	           }
	           }
	           this.description();
	           return messages;
	           
	   }

	   public String toString(int temp)
	   {
	   String str=Integer.toString(temp);
	   return str;
	   }

	   public void description()
	   {

	      String description="ResultSet Count:"+this.getTotalRows()+

	      "total page: "+this.getTotalPages() +

	      "current page:"+this.getCurrentPage()+
	      
	      " isHasPrevious: "+this.isHasPreviousPage() +

	      " isHasNext:"+this.isHasNextPage()+

	      " startrow:"+this.getPageStartRow()+

	      " endrow:"+this.getPageEndRow();

	      System.out.println(description);

	   }
   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -