jsp翻页

来源:互联网 发布:c语言水仙花数有哪些 编辑:程序博客网 时间:2024/04/30 13:20

//test.jsp

//表名:text

//id  varchar(10) 编码

//name  varchar(40) 名称

//tel  varchar(20) 电话

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<jsp:useBean id="user" class="com.conn" scope="page"/>
<%
String page_num=request.getParameter("page_num");
String sqlStr="select *  from text";
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>欢迎访问</title>
</head>
<body>
   <br>
<table width="96%"  border="0" align="center" cellpadding="1" cellspacing="1" class=table1>
  <tr bgcolor="9ACDFE">
    <td height="22" bgcolor="9ACDFE">&nbsp; </td>
    <td bgcolor="9ACDFE">编码</td>
    <td height="22"> 名称</td>
 <td height="22"> 电话</td>
  </tr>
 <%
    ResultSet rs=null;
    try{
    rs=user.executeQuery(sqlStr);
    int n=0; 
   int row=0;
   rs.last();
   row=rs.getRow();
   rs.first();
  
   int PageSize =20;  //设置一页显示的记录数
   int PageNum = 1;   //初始化页码=1
   int intRowCount;   //记录总数
   int PageNumCount;  //总页数
   int i;
      //计算要显示的页码
    String strPageNum = request.getParameter("page");
 if(page_num!=null){
    PageNum=java.lang.Integer.parseInt(page_num);
 }else if(strPageNum==null){
     PageNum = 1;
 }else{
    PageNum = java.lang.Integer.parseInt(strPageNum);
    if(PageNum<1) PageNum = 1;
    }
    //获取记录总数

   intRowCount = row;
    //记算总页数
   PageNumCount = (intRowCount+PageSize-1) / PageSize;

   //调整待显示的页码

   if(PageNum>PageNumCount) PageNum = PageNumCount;
  
  if(PageNumCount>0){
   rs.absolute((PageNum-1) * PageSize + 1);
   //显示数据 
   i=0;
  while(i<PageSize && !rs.isAfterLast()){
   n=i;
  %>
  <tr>
    <td height="22">&nbsp;</td>
    <td height="22"><%=rs.getString("id")%></td>
    <td height="22"><a href="test_detail.jsp?id=<%=rs.getString("id")%>"><%=rs.getString("name")%></a></td>
   <td height="22">
 <%=rs.getString("tel")%>
 </td>
  </tr>
  <%
  if(!rs.next()){
  break;
  };
  i++;
 }
}

%>
</table>
<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0">
<FORM  method=post name="tz_form" action="test_query.jsp">
  <tr>
      <td class="tre" align="right" bgcolor="#CBE4FE" height="20">共<%=PageNumCount%>页&nbsp;
      第<%=PageNum%>页&nbsp; 共<%=intRowCount%>条记录&nbsp;&nbsp;&nbsp;
      <a href="test_query.jsp?page=1">首页</a> |
   <%if(PageNum>1){%>
      <a href="test_query.jsp?page=<%=PageNum-1%>">上一页</a>  |
      <%}%>
      <%if(PageNum<PageNumCount){%>
      <a href="test_query.jsp?page=<%=PageNum+1%>"> 下一页</a>  |
      <%}%>
   <a href="test_query.jsp?page=<%=PageNumCount%>">尾页</a>
        &nbsp;  转到
     <%
     if("null".equals(strPageNum)){
     %>
     <input type=text name="tz" size="3" >
    <%
     }else{
     %>
    <input type=text name="tz" size="3"  value="<%=PageNum%>">
     <%}%>
    
     页
     <input type=hidden name="page" id="page" size="3">
    
        <input type=button name="go" value=" go " class="button" onClick="check_num()">
             &nbsp; 
   </td>
   </tr>
  </form>
</table>
<%
  }catch( SQLException sqle ){}
  catch( Exception e ){}
  finally{
   try{
    user.getClose();
     if (rs !=null){
       rs.close();
       rs=null;
     }
  }catch( SQLException sqle ){}
}
%>
</body>
<script>
   function check_num(){
   document.tz_form.page.value=document.tz_form.tz.value;
   if(isInteger(tz_form.tz.value)){
  alert("请输入正确的页数");
 }else{
    document.tz_form.submit();
   }
   }
</script>