zoukankan      html  css  js  c++  java
  • JSP 页面实现数据分页

      1 <%@ page import="java.sql.*" %>
      2 <%--
      3   Created by IntelliJ IDEA.
      4   User: lx_sunwei
      5   Date: 14-1-4
      6   Time: 下午5:45
      7   To change this template use File | Settings | File Templates.
      8 --%>
      9 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     10 <%
     11     int maxPage = 0  //一共有多少页
     12             ,maxRowCount     //一共有多少行
     13             ,rowsPerPage     //每页显示多少行
     14             ,curPage;        //当前页页码
     15     Connection conn = null;  //数据库连接对象
     16     Statement st = null;     //SQL语句对象
     17     ResultSet rs = null;     //结果集对象
     18 
     19     rowsPerPage = 5;         //设置每页显示5行
     20 
     21     String curpage1 = request.getParameter("page");  //取得当前页页码
     22     if (curpage1 == null){  //若没有page参数
     23         curPage = 1;
     24     }else {
     25         curPage = Integer.parseInt(curpage1);  //字符串转换为整数
     26         if (curPage < 1)
     27             curPage = 1;
     28     }
     29 
     30     String url = "jdbc:oracle:thin:@localhost:1521:orcl";  //连接字符串
     31     try {
     32         Class.forName("oracle.jdbc.driver.OracleDriver");  //装载驱动
     33     } catch (ClassNotFoundException e) {
     34         e.printStackTrace();
     35     }
     36     try {
     37         conn = DriverManager.getConnection(url,"scott","tiger");  //创建连接对象
     38         st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);  //设置结果集
     39         String sql = "select * from emp";  //SQL语句
     40         rs = st.executeQuery(sql);  //执行查询
     41 
     42         rs.last();  //移动光标到结果集最后一行
     43         maxRowCount = rs.getRow();  //返回当前行的行号 即总共的行数
     44         maxPage = (maxRowCount + rowsPerPage - 1) / rowsPerPage;  //总页数
     45         if (curPage > maxPage)
     46             curPage = maxPage;
     47     } catch (SQLException  e) {
     48         e.printStackTrace();
     49     }
     50 %>
     51 <html>
     52 <head>
     53     <meta http-equiv="content-type" content="text/html" charset="utf-8">
     54     <title>JSP分页</title>
     55     <link rel="stylesheet" type="text/css" href="css.css">
     56 </head>
     57 <body>
     58 <div style="margin-left: 30%;margin-top: 10%">
     59     <table>
     60         <caption>SCOTT用户,EMP表中的数据</caption>
     61         <tr>  <!--表头-->
     62             <th>EMPNO</th>
     63             <th>ENAME</th>
     64             <th>JOB</th>
     65             <th>MGR</th>
     66             <th>HIREDATE</th>
     67             <th>SAL</th>
     68             <th>COMM</th>
     69             <th>DEPTNO</th>
     70         </tr>
     71         <%
     72             if (maxPage > 0)  {
     73                 try {
     74                     rs.absolute((curPage - 1) * rowsPerPage + 1);  //移动光标到当前页的第一行
     75                     int i = 0;
     76                     while (i < rowsPerPage && !rs.isAfterLast()){  //循环输出当前的数据
     77         %>
     78         <tr>
     79             <td><%= rs.getBigDecimal("EMPNO") %></td>
     80             <td><%= rs.getString("ENAME") %></td>
     81             <td><%= rs.getString("job") %></td>
     82             <td><%= rs.getBigDecimal("MGR") %></td>
     83             <td><%= rs.getDate("HIREDATE") %></td>
     84             <td><%= rs.getBigDecimal("SAL") %></td>
     85             <td><%= rs.getBigDecimal("COMM") %></td>
     86             <td><%= rs.getBigDecimal("DEPTNO")%></td>
     87         </tr>
     88         <%if (rs.next()){
     89             i++;
     90         }
     91         }
     92         %>
     93         <%
     94                     rs.close();
     95                     st.close();
     96                     conn.close();
     97 
     98                 } catch (SQLException e) {
     99                     e.printStackTrace();
    100                 }
    101             }
    102         %>
    103     </table>
    104 </div>
    105 <div style="text-align: center; margin-top: 10%" >
    106     第<%=curPage%>页,共<%=maxPage%>页&nbsp;&nbsp;&nbsp;
    107     <%--第一页不能向前翻,最后一页不能向后翻。点击首页、尾页跳至第一页、最后一页--%>
    108     <%if (curPage > 1)
    109     {%>
    110     <a href="pagemain.jsp?page=1">首页</a>
    111     <a href="pagemain.jsp?page=<%=curPage - 1%>">上一页</a>
    112     <%}else {%>
    113     首页 上一页   <!--不能被触发-->
    114     <%}%>&nbsp;
    115 
    116     <%if (curPage < maxPage){%>
    117     <a href="pagemain.jsp?page=<%=curPage + 1 %>">下一页</a>
    118     <a href="pagemain.jsp?page=<%= maxPage %>">尾页</a>
    119     <%}else {%>
    120     下一页 尾页  <!--不能被触发-->
    121     <%}%>&nbsp;&nbsp;&nbsp;转至第&nbsp;<form name="form1" action="pagemain.jsp" method="get">
    122     <label>
    123         <select name="page" onchange="document.form1.submit()">
    124             <%
    125                 for (int j = 1; j <= maxPage; j++) {
    126                     if (j == curPage) {
    127             %>
    128             <option selected value=<%=j  //当前页页码默认选中
    129             %>><%= j %></option>
    130             <%} else {%>
    131             <option value=<%= j
    132             %>><%= j%></option>
    133             <%
    134                     }
    135                 }
    136             %>
    137         </select>&nbsp;页
    138     </label>
    139 </form>
    140 </div>
    141 </body>
    142 </html>
  • 相关阅读:
    关于课程设计、毕业设计的一些总结与思考
    分享一个Panda C-60 维修心得
    未能加载文件或程序集“SuperMap.Data.dll”
    VS2017环境下安装AO10.2的方法
    SQL Server连接错误1326
    VMWare虚拟机中CPU过高的问题
    Apktool编译找不到“keyboardNavigationCluster”
    Aspose.Cells设置单元格格式
    谷歌Chrome浏览器无法安装插件的解决方法
    Global Mapper如何加载在线地图
  • 原文地址:https://www.cnblogs.com/systemEsc/p/3517570.html
Copyright © 2011-2022 走看看