您的位置:首页 > Web前端 > JavaScript

纯Jsp分页技术

2011-03-16 13:40 246 查看
<![endif]-->

这是我这两天刚做的jsp分页技术,才刚刚学,做得有些粗糙……
1、  定义 4 个变量
pageSize : 每页显示多少条记录
pageNow 显示当前的哪一页,默认是第一页
rowCount 通过数据库查询得到多少条记录 ( 总共多少条记录 )
pageCount 通过计算得到每页多少条记录
其中计算方法如下:
If(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}
Else{
pageCount=rowCount/pageSize+1;
}
2、  连接数据库(我用的是 mySql 数据库)



 
<![endif]-->
上面是我的数据库 test 表 student 中数据,可以根据自己实际要求新建。
3、  在 jsp 文件中处理数据库中的字段,且实现分页效果
4、  运行文件,查看分页效果
 
 
下面是分页技术代码:
<%
int pageSize=3; // 每页显示多少条记录,我这里是每页显示 3 条记录,根据自己需求可以改
int pageNow=1; // 显示当前的哪一页,默认是第一页
int rowCount=0; // 通过数据库查询得到多少条记录 ( 总记录的条数 )
int pageCount=0; // 通过计算得出总共有多少页
int i = 0;
if ( null != request.getParameter( "pageNow" ) && "" != request.getParameter( "pageNow" )){
    i = Integer.parseInt(request.getParameter( "pageNow" ));
    pageNow = i;
}
else {
    i = pageNow;
    }
 
// 加载驱动
Class.forName( "com.mysql.jdbc.Driver" );
  // 新建连接
  Connection conn=DriverManager.getConnection( "jdbc:mysql://127.0.0.1:3306/test" , "root" , "123456" );
  // 创建 Statement
  Statement sta =conn.createStatement();
  // 创建结果集 后面的 sql 语句是计算出表中记录的总条数
  ResultSet re=sta.executeQuery( "select count(*) from student" );
 
  if (re.next())
  {
  rowCount=re.getInt(1);
  }
 
  // 计算 pageCount
  if (rowCount%pageSize==0){
     pageCount=rowCount/pageSize;
  }
  else {
     pageCount=rowCount/pageSize+1;
  }
 
  re=sta.executeQuery( "select * from student where id limit " +(pageNow-1)*pageSize+ "," +pageSize+ "" );
<!— 这里的 sql 语句要特别注意,这里是指查询你要显示第几页的那条记录开始,直到后面的第几条记录,我这里是后面的 3 条记录,因为我只要求每页显示 3 条记录 ( 我就在这里犯过错的 )-->
  %>
  < table border = "2px" >
  < tr >
  < td > 用户 ID </ td >< td > 用户名 </ td >< td > 密码 </ td >< td > 等级 </ td >
  </ tr >
  <%
  while (re.next()){
  %>
  <!-- 得到数据库的每个字段的值   -->
  < tr >
  < td > <%= re.getString( "id" ) %> </ td >
  < td > <%= re.getString( "name" ) %> </ td >
  < td > <%= re.getString( "password" ) %> </ td >
  < td > <%= re.getString( "grade" ) %> </ td >
  </ tr >
  <%
  }
  %>
  </ table >
  <%
 
  // 上一页
  if (pageNow!=1){
  out.println( "<a href=login.jsp?pageNow=" +(pageNow-1)+ "> 上一页 </a>" );
  }
  // 每一 页
  for ( int j=1;j<=pageCount;j++){
out.println( "<a href=login.jsp?pageNow=" +j+ ">[" +j+ "]</a>" );
}
 
// 下一页
 
if (pageNow!=pageCount){
out.println( "<a href=login.jsp?pageNow=" +(pageNow+1)+ "> 下一页 </a>" );
}
  %>
最终效果图展示,如下:





 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息