jsp中完整的分页显示和页面跳转功能实现的源代码

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030" import="java.util.*,entity.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
<script type="text/javascript">
 
 function submitPage(obj, evt){
  
  evt = (evt) ? evt : ((window.event) ? window.event : "")
  keyCode = evt.keyCode ? evt.keyCode : (evt.which ? evt.which : evt.charCode);
  
  if (keyCode == 13) {
      document.frmPage.submit();
  }
 }

</script>
</head>
<body>
<form action="" method="post">
<p>
 <input type="button" value="新增" onClick="add()">
 <input type="button" value="修改" onClick="upd()">
 <input type="button" value="删除" onClick="del()">
 <input type="hidden" name="action" value="select"/>
</p>

<%

 List<Student> stuList = (List<Student>)request.getAttribute("stulist");

 if (stuList.size() != 0)
 {
%>
 <table border="1" width="500" height="100">
 
  <tr>
       <td>&nbsp;</td>
      <td>学号</td>
      <td>姓名</td>
      <td>语文</td>
      <td>数学</td>
      <td>英语</td>
   </tr>
<%
 
 /*翻页设定*/
 
 int PageSize; //一页显示的记录数  
 int RowCount; //记录总数  
 int PageCount;//总页数  
 int intPage;  //待显示页码  
 int i,j;
 
 //设置每页显示的记录数  
 PageSize = 2;
 
 //取得页码
 String strPage=request.getParameter( "page"); 
 
 if(strPage == null)
 {        
  //表明在QueryString中没有page这一个参数,此时显示第一页数据            
  intPage = 1;            
 }    
 else
 {        
  //将字符串转换成整型            
  intPage=Integer.parseInt(strPage);
  
  if( intPage < 1 ){
   intPage=1;    
  }
 }
 
 //获取记录总数            
 RowCount = stuList.size();
 
 //记算总页数            
 PageCount = ( RowCount + PageSize - 1 ) / PageSize;
 
 //调整待显示的页码
 if( intPage > PageCount)    
 {
  intPage = PageCount;
 }  
 
 //将记录指针定位到待显示页的第一条记录上            
 i = ( intPage - 1 ) * PageSize;  
%>
<%
     for ( j = i ; j < RowCount && j < i + PageSize  ; j++ )
     {
      Student stu = stuList.get(j);
%>
      
      
   <tr>
       <td><input type="radio" name="selStu" value="<%=stu.getStuNum()%>"/></td>
      <td><%=stu.getStuNum() %></td>
      <td><%=stu.getStuName() %></td>
      <td><%=stu.getChScore() %></td>
      <td><%=stu.getMathScore() %></td>
      <td><%=stu.getEnScore() %></td>
   </tr>   
      
<%
     }
%>
<tr   align=center>            
<td     colspan=6     align=center>            
  <form  name="frmPage" action="SelectStudent" method="get">
     回车转到第 <input type="text"  name="page" size="3" onKeyPress="submitPage(this,event)" />页
  </form>
   
     第 <%=intPage%> 页         共 <%=PageCount%> 页       共有 <%=RowCount%> 条记录  
             
  <%
  if(intPage> 1)
  {
  %> <a href="SelectStudent?page=<%=intPage-1%>">上一页 </a> <%        
  }        
  %>
  &nbsp;
  <%
  if(intPage <PageCount)
  {
  %> <a href="SelectStudent?page=<%=intPage+1%>">下一页 </a> <%        
  }        
  %>   
 
  </form>  
  </td>  
<br/>
</table>
<%
 }
 else
 {
  System.out.println("学生信息库中没有数据");
 }
%>
</body>
</html>

原文地址:https://www.cnblogs.com/moonfans/p/2698157.html