分页实现(jsp版)

分页实现(jsp版)

 

<% @ page contentType = " text/html;charset=GB2312 " %>
<% @ page  import = " java.sql.* " %>
< html >
< title > 分页显示(jsp版) </ title >
< body >

<%!    int  pageSize  =   5 ; // 每页显示的记录数
      int  pageCount  =   0 ; // 总页数
%>

<%
    Connection con;
    String DatabaseDriver 
=   " com.microsoft.jdbc.sqlserver.SQLServerDriver " ;
    String CnnStr 
=   " jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=Shopping " ;
    
try   {
        Class.forName(DatabaseDriver);
        con 
= DriverManager.getConnection(CnnStr, "sa""11"); 
        Statement stmt 
= con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//可滚动查询数据的结果集
        ResultSet rs =  stmt.executeQuery("select * from ProductInfo order by P_ID");
        rs.last(); 
//让游标到表中的最后一行
        int rowCount = rs.getRow(); //获取记录总数.
        
//out.print("总记录数为"+rowCount);
        
//总页数的计算公式
        pageCount = (rowCount % pageSize == 0? (rowCount / pageSize ) : (rowCount / pageSize +1);
        
int showPage = 1;//当前页
%>



<%
    
//取得用户所指定的页
    String goToPage = request.getParameter("showPage");
    
if (goToPage == null){
        goToPage 
= "1";
    }

    
    
//转换成整形
    try{
        showPage 
= Integer.parseInt(goToPage);
    }

    
catch (NumberFormatException ex){
        showPage 
= 1;
    }

    
    
//当前页小于等于第一页 则按第一页算 如果 当前页大于等于总页数则为最后页
    if(showPage <=1){
        showPage 
= 1;
    }

    
else if(showPage >= pageCount){
        showPage 
=  pageCount;
    }

    
    
//游标的位置 (当前页 - 1) * 页面大小 + 1
    int posion = (showPage -1 ) * pageSize + 1;
    
//设置游标的位置 
    rs.absolute(posion);

%>


<table border="1" cellspacing="0" cellpadding="0"> 
<tr> 
<th>商品号</th> 
<th>商品名称</th> 
</tr> 
<%
   
int i =0;
   
//循环显示表中的数据 pageSize(每页所显示的记录)
   
//rs.isAfterLast() 游标是否在最后一行之后 说明后面已经没记录
   while(i<pageSize && !rs.isAfterLast()){
%>
<tr> 
<td><%=rs.getString(1)%></td> 
<td><%=rs.getString(2)%></td> 
</tr> 
<%rs.next();i++;}
%>
</table> 


<table width="624">
<form action="" method="get">   

<tr>
<td>
<%if(showPage < pageCount){%>
    
<a href="Noname1.jsp?showPage=<%=showPage+1%>">[下一页]</a>
<%}
%> 
</td>
<td><%if(showPage > 1){%>
    
<a href="Noname1.jsp?showPage=<%=showPage-1%>">[上一页]</a>
    
<%}
%> 
</td>

<td> 共<%=pageCount%>页 </td>
<td> 第<%=showPage%>页  </td>
<td> <a href="Noname1.jsp?showPage=1">『首页』</a> </td>
<td> <a href="Noname1.jsp?showPage=<%=pageCount%>">『尾页』</a> </td>
<td> <%=rowCount%> </td>
<td>
  转到
<input type="text" name="showPage" size="4"></input>
      
<input type="submit" name="go" value="提交"></input>  
</td> 
</tr>
</form>
</table>
<% 
con.close(); 
}
   catch  (ClassNotFoundException e1)  {out.print(e1.getMessage());}
    
catch (SQLException e2) { out.print(e2.getMessage());}
%>
</ body >
</ html >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值