<% 

 /*每页显示的条数(可以自己随便定义)*/ 

 int pageSize = 3; 


 /*起始页(可以自己随便定义)*/ 

 int startRow = 0; 


 /*如果判断的值是对的,那么将当前页的起始页一定不是0,那么我们就将起始页的指针指向这个起始页*/ 

 if (request.getParameter("startRow") != null){ 

 try{ 


 startRow = Integer.parseInt(request.getParameter("startRow")); 

 }catch(Exception e){ 

 /*如果在转化的过程中出现了异常,那么我就将这个起始页还之前startRow=0的首页*/ 

 startRow = 0; 

 } 

 } 


 %> 



***********************翻页:首页,上一页,下一页,末页********************** 


<%--查询数据库中有多少条跟查询条件相符的信息 --%> 

<sql:query var="selectCount" dataSource="${connectDBSource}"> 

 我们要查询的sql,这个sql要和下面的要显示是的sql是一致的 

</sql:query> 


 <%-- 翻页(除了用到了查询的selectCount根据你定义的更改外,其它的代码可以直接使用) --%> 

 <script type="text/javascript"> 


 function turnPage(pageNum){ 

 alert("翻页翻页啦翻页啦"); 

 <%--设置首页 --%> 

 if (pageNum*1 == 0){ 

 alert("首页"); 

 window.location = "searchRKInfo.jsp?startRow="+pageNum+"&f="+new Date().getTime(); 

 } 


 /*上一页*/ 

 if(pageNum=="previous"){ 

 if(<%=startRow%>==0){ 

 alert("已经是第一页了"); 

 return false; 

 } 

 pageNum = <%=startRow%>-<%=pageSize%>; 

 window.location = "searchRKInfo.jsp?startRow=" + pageNum + "&f=" + new Date().getTime(); 

 } 


 /*下一页*/ 

 if(pageNum=="next"){ 


 /*处理下一页的问题(当数据库中有偶数条记录时)*/ 

 if(${selectCount.rowCount}%<%=pageSize%>==0){ 

 pageNum = (<%=startRow%> + <%=pageSize%>)==${selectCount.rowCount}?<%=startRow%>:(<%=startRow%> + <%=pageSize%>); 

 } 


 /*处理下一页的问题(当数据库中有奇数条记录时)*/ 

 if(${selectCount.rowCount}%<%=pageSize%>!=0){ 

 pageNum = (<%=startRow%> + <%=pageSize%>)>${selectCount.rowCount}?<%=startRow%>:(<%=startRow%> + <%=pageSize%>); 

 } 


 if(pageNum==<%=startRow%>){ 

 alert("已经是最后一页了"); 

 return false; 

 } 

 window.location = "searchRKInfo.jsp?startRow=" + pageNum + "&f=" + new Date().getTime(); 

 } 


 /*末页*/ 

 if(pageNum=="end"){ 

 alert("末页"); 

 var endNum = ${selectCount.rowCount}%<%=pageSize%>; 

 if(endNum==0){ 

 pageNum = ${selectCount.rowCount}-<%=pageSize%>; 

 } 

 if(endNum!=0){ 

 pageNum = ${selectCount.rowCount}-(${selectCount.rowCount}%<%=pageSize%>); 

 } 

 window.location = "searchRKInfo.jsp?startRow=" + pageNum + "&f=" + new Date().getTime(); 

 } 


 } 

</script> 



***************翻页:跳转到 页****************************** 


<%-- 除了用到了查询的selectCount根据你定义的更改外,其它的代码可以直接使用 --%> 

<script type="text/javascript"> 


function isNull(str){ 

 var reg = /^\s*$/; 

 if(str=="" || reg.test(str)){ 

 return true; 

 } 

 if(str==null || str=="null" || str=="undefined"){ 

 return true; 

 } 

 return false; 

} 


/*跳到第几页*/ 

function jumpToPage(jumpToPage){ 


 var pageNum; 


 /*upButton 当不添值时,点击跳转给以提示*/ 

 if(isNull(document.getElementById("pageUp").value) && jumpToPage=="upButton"){ 

 alert("跳转值不能为空"); 

 return false; 

 } 


 /*downButton 当不添值时,点击跳转给以提示*/ 

 if(isNull(document.getElementById("pageDown").value) && jumpToPage=="downButton"){ 

 alert("跳转值不能为空"); 

 return false; 

 } 


 /*当upButton填写正确,执行跳转操作*/ 

 if(!isNull(document.getElementById("pageUp").value) && jumpToPage=="upButton"){ 

 pageNum = document.getElementById("pageUp").value; 

 } 


 /*当downButton填写正确,执行跳转操作*/ 

 if(!isNull(document.getElementById("pageDown").value) && jumpToPage=="downButton"){ 

 pageNum = document.getElementById("pageDown").value; 

 } 


 if(pageNum<=0){ 

 alert("您输入的页数小于指定的页数"); 

 return false; 

 } 


 /*参数值大于指定的页数(当数据库总行数为偶数时)*/ 

 if(${selectCount.rowCount}%<%=pageSize%>==0){ 

 if(pageNum>(${selectCount.rowCount}/<%=pageSize%>)){ 

 alert("您输入的参数大于指定的页数"); 

 return false; 

 } 

 } 


 /*参数值大于指定的页数(当数据库总行数为奇数时)*/ 

 if((${selectCount.rowCount}%<%=pageSize%>!=0)){ 

 if(pageNum>parseInt(${selectCount.rowCount}/<%=pageSize%>)+1){ 

 alert("您输入的参数大于指定的页数"); 

 return false; 

 } 

 } 


 /*参数不是数字*/ 

 if(!(/^\d+(\.\d+)?$/).test(pageNum)){ 

 alert("请输入正确的跳转页(参数应为数字类型)"); 

 }else { 

 window.location = "searchRKInfo.jsp?startRow=" + (pageNum*<%=pageSize%>-3) + "&f=" + new Date().getTime(); 

 } 

} 

</script> 


在我们要使用的分页的显示页面searchRKInfo.jsp中,我们要这样写(注意startRow,maxRows的使用,这样得出来的查询页面才是被分过页的) 


<sql:query var="selectRKInfo" dataSource="${connectDBSource}" startRow="<%=startRow %>" maxRows="<%=pageSize %>"> 

 <%=要查询的sql %> 

</sql:query> 


******************以上的方法被下面的程序调用*************************** 


<span onClick="turnPage(0)" style="cursor:pointer" class="title2">首页</span>   

 <span onClick="turnPage('previous')" style="cursor:pointer" class="title2">上一页</span>   

 <span onClick="turnPage('next')" style="cursor:pointer" class="title2">下一页</span>   

 <span onClick="turnPage('end')" style="cursor:pointer" class="title2">末页</span>   

 <span class="title2">跳至第 

<input type="text" name="pageUp" id="pageUp" style="width:2em; height:1.4em">页 <input type="button" value="跳转" οnclick="return jumpToPage('upButton')"></span>