jsp分页技术

原创 2012年03月27日 10:23:43

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page language="java" import="java.sql.*"%>
<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://"
   + request.getServerName() + ":" + request.getServerPort()
   + path + "/";
%>
<%
 request.setCharacterEncoding("UTF-8");
%>


 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <base href="<%=basePath%>">

  <title>My JSP 'Loginpage.jsp' starting page</title>

  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">
  <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
   <body>
   <h1>学生信息表分页技术 </h1>
  
  <%
   int pagesize = 3; //每页显示多少条记录
   int pagenow = 1; //希望显示第几条 默认显示第一页
   int pagecount=0; //一共有多少页
   int rowcount=0; //一共有多少条记录 从数据库中查询
     //对pagenow修改(接收用户希望显示的页数)
   String s_pagenow=request.getParameter("pagenow");
   if(s_pagenow!=null){ //当接收到的时候
   pagenow=Integer.parseInt(s_pagenow);

   }

 

   try {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
   } catch (ClassNotFoundException e) {
    e.printStackTrace();
    System.out.print("驱动包连接失败!");
   }

   String url = "jdbc:sqlserver://localhost:1433;DatabaseName=StuInfor";
   ;
   String user = "sa";
   String password = "sa";
   Connection con = null;
   PreparedStatement psta = null;
   String sql = "select count(*) from Student2";
   ResultSet rs = null;

   //2.连接数据库
   try {
    con = DriverManager.getConnection(url, user, password);
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    System.out.println("数据库连接失败!");
   }

   //3.创建 PreparedStatement对象  
   try {
    psta = con.prepareStatement(sql);
    rs = psta.executeQuery();
   } catch (SQLException e) {

    e.printStackTrace();
   }
   if (rs.next()) {
    rowcount = rs.getInt(1);  //取到数据库中的1行一列就是所有记录
   }
   if (rowcount % pagesize == 0) { //计算pagecount
    pagecount = rowcount / pagesize;
   } else {
    pagecount = rowcount / pagesize + 1;
   }
   String sql1 = "select top " + pagesize
     + " *from Student2 where id not in(select top " + pagesize
     * (pagenow - 1) + " id from Student2 )";
     psta = con.prepareStatement(sql1);
     rs=psta.executeQuery();
   //显示
  %>

   <table border="1">
   <tr>
    <td>学号</td> <td>姓名</td> <td>性别</td> <td>年龄</td><td>班级</td>
   </tr>
   <%   
   while(rs.next()){
    %>
    <tr> <td><%=rs.getInt(2)%></td> <td><%=rs.getString(3)%></td>
     <td><%=rs.getString(4)%></td> <td><%=rs.getString(5)%></td>
     <td><%=rs.getString(6)%></td>
    <% 
     }
     %>
    
  </table>
 <%
 
    //显示上一页
   if(pagenow!=1){
  out.println("<a href=Loginpage.jsp?pagenow="+(pagenow-1)+">上一页</a>");
  }
 
  //显示超链接
  for(int i=1;i<=pagecount;i++){
   out.println("<a href=Loginpage.jsp?pagenow="+i+">["+i+"]</a>");

  }
 
 //显示下一 页
   if(pagecount!=pagenow){
   out.println("<a href=Loginpage.jsp?pagenow="+(pagenow+1)+">下一页</a>");
  }
  out.println("<a href=Mypage.jsp?>  你当前在第"+pagenow+"页</a>");
  %>
</body>

 

  
  
</html>

 

 

 


 

相关文章推荐

分页技术。jsp

  • 2013年09月03日 23:02
  • 335KB
  • 下载

jsp简单分页技术

  • 2015年12月07日 22:20
  • 5KB
  • 下载

JSP分页技术

前言  在使用数据库的过程中,不可避免的需要使用到分页的功能,可是jdbc的规范对此却没有很好的解决。对于这个需求很多朋友都有自己的解决方案,比如使用vector等集合类先保存取出的数据再分页。但这...

mysql+jsp+javabean实现分页技术

  • 2007年10月03日 14:10
  • 662KB
  • 下载

JSP分页技术(多种方法)

  • 2011年04月06日 22:01
  • 18KB
  • 下载

JSP分页技术·oracle数据库

JSP分页技术·oracle数据库   在oracle数据库中查询结果的行号使用伪列ROWNUM表示(从1开始)。例如select * from employee where rownum ...

jsp商品列表分页技术

  • 2008年11月23日 14:08
  • 12KB
  • 下载

Hibernate分页应用层和jsp页面技术

/*  * Generated by MyEclipse Struts  * Template path: templates/java/JavaClass.vtl  */ package c...

jsp分页技术的例子实现和总结

在jsp开发中,在前台的数据展示页面,经常遇到这样的情况,很多条的数据,有几十上百条,而只显示10条,然后翻页显示下面的十条,如下图所示:     处理方式:一:首先sql语句,使用not ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jsp分页技术
举报原因:
原因补充:

(最多只允许输入30个字)