JSP实现网页,分页功能

方法一

提交到本页面“dividepage.jsp”

<%@ page language="java"contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*,java.lang.String,java.util.*"%>


<br style="line-height:normal;"> 分页显示<br style="line-height:normal;">

<%!String url,sql,xh; %>
<%!Connection conn;%>
<%!ResultSet rs;%>
<%!Statement stmt;%>
<%!int i;%>
<%!int pageSize=3;%>
<%!int rowCount=0;%>
<%!int pageCurrent;%>
<%!int pageCount;%>











<%
/**

下面这个数据库连接,的主要目的是求出总的记录数rowCount
*/
try
{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    url="jdbc:odbc:university";
    conn=DriverManager.getConnection(url,"guojia","19861213");
    stmt=conn.createStatement();
    sql="select * from student";
    rs=stmt.executeQuery(sql);
    out.print(rowCount);
    rowCount=0;//注意这里的清0一定都不能少,否则你一点超链接,所有的记录数又重加一次
    while(rs.next())
    {
      rowCount++;
    }
    rs.close();
    stmt.close();
    conn.close();

}catch(Exception e)
{
out.print(e);
}
%>
<%
try{
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        url="jdbc:odbc:university";
        conn=DriverManager.getConnection(url,"guojia","19861213");
        stmt=conn.createStatement();
        sql="select * from student";
    rs=stmt.executeQuery(sql);
    String strPage=request.getParameter("page");//"page为连接时传过来参数"
    /**
    第一次运行该页面时page必为null,因为参数未传过来,那么就将pageCurrent的值设为1
    也就表示第一页
    */
    if(strPage==null)
    {
      pageCurrent=1;
      }
      else{
       pageCurrent=Integer.parseInt(strPage);
       if(pageCurrent<1)
       pageCurrent=1;
      }
    /**
     下面两句的目的是将游标定位到要显示页的前一页的最后一条记录
    */
    for(i=1;i<=(pageCurrent-1)*pageSize;i++)
    rs.next();
     /**
        下面的一个for循环的作用是将要显示页的记录一条条的取出来放到table中
        */
    for(i=1;i<=pageSize;i++)
    {
     if(rs.next())
     {
     xh=rs.getString(1);
     %>
    


    
    
    
    
    
    
    
    
    
     <%
     }
     
    }
    out.print(conn.getAutoCommit());//此语句测试conn自动提交没有,如果没有,就要在executeUpdate()后加上conn.commit();
         rs.close();
         stmt.close();
     conn.close();
    pageCount=(int)(rowCount/pageSize);
    if(pageSize*pageCount     {
    pageCount++;
    }
    out.print("一共有"+pageCount+"页");
    if(pageCount>1)
    {
    for(i=1;i<=pageCount;i++)
     out.print(""+i+" "); //这里易出错
     /**
     out.print(""+i+"");这里错误就在page等号不要有“'”
     在双引号里面的双引号就变为了单引号了。
     */
    }
    out.print("目前是第"+pageCurrent+"页");
}
catch(Exception e)
{
out.print(e);
}
%>
学号 姓名 性别 年龄 籍贯 院系 更改 删除

     <%=xh%>
    

          <%=rs.getObject(2)%>
    

          <%=rs.getObject(3)%>
    

          <%=rs.getObject(4)%>
    

          <%=rs.getObject(5)%>
    

          <%=rs.getObject(6)%>
    

               修改
    

            删除
    



方法二

<%@ page language="java"contentType="text/html;charset=gb2312"%> 
<%@ page import="java.sql.*,java.lang.String.*,java.util.*"%>


<br style="line-height:normal;"> JSP实现网页分页功能<br style="line-height:normal;">

<%!
Connection conn;
ResultSet rs;
Statement stmt;
String sql,url,strPage,NO;
int pageSize=3;//一页显示的记录数
int rowCount;//记录总数
int currentPage;//当前显示页
int pageCount;//总页数
int i;
%>
<%
strPage=request.getParameter("page");
if(strPage==null)
{
currentPage=1;
}
else
{
currentPage=Integer.parseInt(strPage);
if(currentPage<1)
{
currentPage=1;
}
}
%>
<%
try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    url="jdbc:odbc:university";
    conn=DriverManager.getConnection(url,"guo","194871213");
    stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    sql="select * from student";
    rs=stmt.executeQuery(sql);
    rs.last();
    rowCount=rs.getRow();
    pageCount=(rowCount+pageSize-1)/pageSize;
    if(currentPage>pageCount)
    {
     currentPage=pageCount;
    }
}
catch(Exception e)
{
out.print(e);
}
%>


JSP分页功能












<%
if(pageCount>0)
{
rs.absolute((currentPage-1)*pageSize+1);
   i=0;
   while(i {
   NO=rs.getString("Xuehao");
%>

     
     
     
     
     
     
     
     
    
<%
     rs.next();
     i++;
}
}
   rs.close();
   stmt.close();
   conn.close();
%>
学号 姓名 性别 年龄 籍贯 院系 更改 删除

      <%=NO%>
     

           <%=rs.getObject(2)%>
     

           <%=rs.getObject(3)%>
     

           <%=rs.getObject(4)%>
     

           <%=rs.getObject(5)%>
     

           <%=rs.getObject(6)%>
     

                修改
     

             删除
     



第<%=currentPage%>页    共<%=pageCount%>页 <%if(currentPage下一页
<%
}
if(currentPage>1){%>上一页 
<%
}
if(pageCount>0)

int n;
for(n=1;n<=pageCount;n++)
{
%>
 <%=n%>页
<%
}
}
%>


你可能感兴趣的:(JSP实现网页,分页功能)