分页代码(应用广泛)

 package prj13_1;

import java.util.ArrayList;

//负责传入一个大的集合,根据页号返回所需的数据
/*
 * 页数= 
  记录条数%每页条数==0     记录条数/每页条数
  否则          记录条数/每页条数+1
  第N页显示第几条记录(记录从0开始算)? (N-1)*每页条数=<序号< N*每页条数
 * */
public class PageController {
 private ArrayList bigList;//大的集合,外界传入
 private int currentPageIndex=1;//当前页号,默认为1,外界传入
 private int countPerpage=5;//每页条数,可以设定
 private ArrayList smallList;//小的集合,返回
 private int pageCount;//页数
 private int recordCount;//记录条数
 private int prePageIndex;//上一页序号
 private int nextPageIndex;//下一页序号
 private boolean firstPage;//是否第一页
 private boolean lastPage;//是否最后一页
 public void setCurrentPageIndex(int currentPageIndex) {//每当页数改变,都会调用这个函数,调用次数最多,筛选代码写在这里
  this.currentPageIndex = currentPageIndex;
  
  //上一页,下一页确定
  prePageIndex=currentPageIndex-1;
  nextPageIndex=currentPageIndex+1;
  //是否第一页,最后一页
  if(currentPageIndex==1)
  {
   firstPage=true;
  }
  else
  {
   firstPage=false;
  }
  if(currentPageIndex==pageCount)
  {
   lastPage=true;
  }
  else
  {
   lastPage=false;
  }
  //筛选工作
  smallList=new ArrayList();
  for(int i=(currentPageIndex-1)*countPerpage;i<currentPageIndex*countPerpage&& i<recordCount;i++){
   smallList.add(bigList.get(i));
  
  }
 
 
 
 }
 public int getCurrentPageIndex() {
  return currentPageIndex;
 }
 
public ArrayList getBigList() {
 return bigList;
}
public void setBigList(ArrayList bigList) {
 
 
 this.bigList = bigList;
 //计算条数
 this.recordCount=bigList.size();
 //计算页数 
 if(this.recordCount%countPerpage==0)
 {
  pageCount=this.recordCount/countPerpage;
 }
 else
 {
  pageCount=this.recordCount/countPerpage+1;
 }
 
}

public int getCountPerpage() {
 return countPerpage;
}
public void setCountPerpage(int countPerpage) {
 this.countPerpage = countPerpage;
}
public ArrayList getSmallList() {
 return smallList;
}
public void setSmallList(ArrayList smallList) {
 this.smallList = smallList;
}
public int getPageCount() {
 return pageCount;
}
public void setPageCount(int pageCount) {
 this.pageCount = pageCount;
}
public int getRecordCount() {
 return recordCount;
}
public void setRecordCount(int recordCount) {
 this.recordCount = recordCount;
}
public int getPrePageIndex() {
 return prePageIndex;
}
public void setPrePageIndex(int prePageIndex) {
 this.prePageIndex = prePageIndex;
}
public int getNextPageIndex() {
 return nextPageIndex;
}
public void setNextPageIndex(int nextPageIndex) {
 this.nextPageIndex = nextPageIndex;
}
public boolean isFirstPage() {
 return firstPage;
}
public void setFirstPage(boolean firstPage) {
 this.firstPage = firstPage;
}
public boolean isLastPage() {
 return lastPage;
}
public void setLastPage(boolean lastPage) {
 this.lastPage = lastPage;
}
 
}

 

 

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package prj13_1.action;

import java.util.ArrayList;
import po.*;
import prj13_1.PageController;
import dao.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class QueryAction extends Action {
 
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  String str=request.getParameter("pageIndex");
  if(str==null){
   str="1";
  }
  int currentPageIndex=Integer.parseInt(str);
  
  //查询.跳转
  studentDao dao=new studentDao();
     PageController pc=(PageController)request.getAttribute("pc");
     if(pc==null)
     {
      pc=new PageController();
      ArrayList list=dao.QueryAllStu();
      pc.setBigList(list);
   request.setAttribute("pc", pc);
   
     }
     pc.setCurrentPageIndex(currentPageIndex);
     return new ActionForward("/display.jsp");
 }
}

 

 

 

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="dao.*,po.*" %>
<%@page import="java.util.ArrayList"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
   
   
    <title></title>
   
 

  </head>
 
  <body> 
   显示结果 
     <table border="1" bgcolor="#804040" align="center">
     <tr>
     <td>ID</td>
     <td>用户名</td>
     <td>密码</td>
     <td>电话</td>
     <td>地址</td>
     <td>日期</td>
     
     </tr>
     <logic:iterate id="info" name="pc" property="smallList">
      <tr>
      <td><bean:write name="info" property="id"/></td>
     <td><bean:write name="info" property="username"/></td>
     <td><bean:write name="info" property="password"/></td>
     <td><bean:write name="info" property="phone"/></td>
     <td><bean:write name="info" property="addr"/></td>
     <td><bean:write name="info" property="rdate"/></td>
    
     </tr>
     </logic:iterate>
     </table>
     <html:link action="/query.do?pageIndex=1">首页</html:link>
     <logic:equal name="pc" property="firstPage" value="false" >
         <html:link action="/query.do" paramId="pageIndex" paramName="pc" paramProperty="prePageIndex">上一页</html:link>
     </logic:equal>
      <logic:equal name="pc" property="lastPage" value="false">
         <html:link action="/query.do" paramId="pageIndex" paramName="pc" paramProperty="nextPageIndex">下一页</html:link>
      </logic:equal>
      
     <html:link action="/query.do" paramId="pageIndex" paramName="pc" paramProperty="pageCount">尾页</html:link>
  </body>
</html>

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值