首页 > 代码库 > JSP 页面实现数据分页
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="http://www.mamicode.com/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%>页 107 <%--第一页不能向前翻,最后一页不能向后翻。点击首页、尾页跳至第一页、最后一页--%>108 <%if (curPage > 1)109 {%>110 <a href="http://www.mamicode.com/pagemain.jsp?page=1">首页</a>111 <a href="http://www.mamicode.com/pagemain.jsp?page=">上一页</a>112 <%}else {%>113 首页 上一页 <!--不能被触发-->114 <%}%> 115 116 <%if (curPage < maxPage){%>117 <a href="http://www.mamicode.com/pagemain.jsp?page=">下一页</a>118 <a href="http://www.mamicode.com/pagemain.jsp?page=">尾页</a>119 <%}else {%>120 下一页 尾页 <!--不能被触发-->121 <%}%> 转至第 <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=http://www.mamicode.com/<%=j //当前页页码默认选中129 %>><%= j %></option>130 <%} else {%>131 <option value=http://www.mamicode.com/<%= j132 %>><%= j%></option>133 <%134 }135 }136 %>137 </select> 页138 </label>139 </form>140 </div>141 </body>142 </html>
JSP 页面实现数据分页
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。