欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jsp数字分页类 jdbcTemplate演示

程序员文章站 2022-06-20 08:19:23
下面第一个文件是pageSupport主要处理各种参数 package net.spring.service; import java.util.List; public...


下面第一个文件是pageSupport主要处理各种参数

package net.spring.service;
import java.util.List;
public class pageSupport {
 int pagesize=2;//每页条数
 int totalCount;//总条数
 int curPage;//当前页数
 int pageCount;//总页数
 List datas;//记录集
 public pageSupport(int startpage,int pagesizes,int count){
 
  this.setPagesize(pagesizes);
  this.setTotalCount(count);
  this.pageCount=count/pagesizes+1;
  this.setCurPage(startpage);
 }
 public int getPageCount() {
  return pageCount;
 }
 public void setPageCount(int pageCount) {
  this.pageCount = pageCount;
 }
 public int getPagesize() {
  return pagesize;
 }
 public void setPagesize(int pagesize) {
  this.pagesize = pagesize;
 }
 public int getTotalCount() {
  return totalCount;
 }
 public void setTotalCount(int totalCount) {
  this.totalCount = totalCount;
 }
 public int getCurPage() {
  return curPage;
 }
 public void setCurPage(int curPage) {
  if(curPage<=0)
   curPage=0;
  if(curPage>this.getPageCount())
   curPage=this.getPageCount();
  this.curPage = curPage;
 }
 public List getDatas() {
  return datas;
 }
 public void setDatas(List datas) {
  this.datas = datas;
 }
 
}
 

这是调用方法

调用的时候传入当前的页面http://index.html?page=2  比如这个 传入的是page这参数也就是 startpage这个变量对应的

[html] 
               
 
int startpage=Integer.parseIn(response.Parameter(page)), pagesize=5 
//this.geCount()是一个得到总记录数的函数,自己写。 
pageSupport pSupport=new pageSupport(startpage,pagesize,this.getCount()); 
  String sql="select * from table limit ?,?"; 
  List list=//这里需要自己把数据库记录读出来并返回list形式                                                                               jdbcTemplate.queryForList(sql, 
    new Object[]{(pSupport.getCurPage()-1)*pagesize 
  ,pagesize}); 
  pSupport.setDatas(list); 
[html] view plaincopy
<%--数字分页形式开始 --%> 
<%! 
// @listNum=3;底下 1 2 3 等 
// @thePageUrl:url拼凑字符串.    如:request.getRequestURI()+"?Page="; 
// @pageClass="Page":当页数字CSS类 
// @pageCount:总页数 
// @showPage:当前要显示的页数 
public String getPage(int listNum,String thePageUrl,String pageClass,int pageCount,int showPage) 

String result=""; 
if(pageCount<=listNum) 

   for(int i=1;i<=pageCount;i++) 
   { 
     if(i==showPage) 
     { 
     result=result+"<span class="+pageClass+">"+i+"</span> "; 
     } 
     else 
     { 
     result=result+"<a href="+thePageUrl+i+">["+i+"]</a> "; 
     } 
   } 
   return result; 

else if(pageCount>listNum) 

//这里根据showPage作出相应判断 
int FromListNum; 
if(showPage%listNum!=0) //这里根据求余判断当前页应该在那个分页列表里,如应该在1-5里面还是6-10 
{FromListNum=(showPage/listNum)*listNum+1;} 
else 
{FromListNum=(showPage/listNum)*listNum-listNum+1;} 
   int ToListNum=FromListNum+listNum-1; 
   if(pageCount>=ToListNum) 
   { 
     if(FromListNum!=1) 
     { 
      result=result+"<a href="+thePageUrl+"1 title=首页><FONT face=webdings>9</FONT></a> "; 
        result=result+"<a href="+thePageUrl+(FromListNum-1)+" title=上"+listNum+"页><FONT face=webdings>7</FONT></a> "; 
     } 
     else 
     { 
      result=result+"<FONT face=webdings>9</FONT> "; 
      result=result+"<FONT face=webdings>7</FONT> "; 
     } 
    for(int i=FromListNum;i<=ToListNum;i++) 
    { 
      if(i==showPage) 
      { 
       result=result+"<span class="+pageClass+">"+i+"</span> "; 
      } 
      else 
      { 
       result=result+"<a href="+thePageUrl+i+">["+i+"]</a> "; 
      } 
    } 
    result=result+"<a href="+thePageUrl+(ToListNum+1)+" title=下"+listNum+"页><FONT face=webdings>8</FONT></a> "; 
    result=result+"<a href="+thePageUrl+pageCount+" title=末页><FONT face=webdings>:</FONT></a> "; 
    return result; 
   }else 
   { 
    result=result+"<a href="+thePageUrl+"1 title=首页><FONT face=webdings>9</FONT></a> "; 
    result=result+"<a href="+thePageUrl+(FromListNum-1)+" title=上"+listNum+"页><FONT face=webdings>7</FONT></a> "; 
     for(int i=FromListNum;i<=pageCount;i++) 
     { 
       if(i==showPage) 
       { 
        result=result+"<span class="+pageClass+">"+i+"</span> "; 
       } 
       else 
       { 
        result=result+"<a href="+thePageUrl+i+">["+i+"]</a> "; 
       } 
     } 
   result=result+"<FONT face=webdings>8</FONT> "; 
   result=result+"<FONT face=webdings>:</FONT> "; 
   return result; 
   } 

return ""; 

%> 
<%--数字分页形式结束 --%>