• jsp学习-分页功能的实现


    <%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%>
    <%@ page language="java" import="java.sql.*"%>
    
    
    <script LANGUAGE="javascript">
    <!-- 跳页函数 -->
        function test() {
            //这里还需要实现一些对于输入页码的安全性验证。比如不能为空,必须是数字这些。
            var page = document.getElementById("goPage").value;
            window.location.href = "Tem2.jsp?page=" + page;
    
        }
    </script>
    <%
        //变量声明 
        java.sql.Connection sqlCon; //数据库连接对象 
        java.sql.Statement sqlStmt; //SQL语句对象 
        java.sql.ResultSet sqlRst; //结果集对象 
        java.lang.String strCon; //数据库连接字符串 
        java.lang.String strSQL; //SQL语句 
        int intPageSize; //一页显示的记录数 
        int intRowCount; //记录总数 
        int intPageCount; //总页数 
        int intPage; //待显示页码 
        java.lang.String strPage;
        int i;
        //设置一页显示的记录数 
        intPageSize = 2;
        //取得待显示页码 
        strPage = request.getParameter("page");
        if (strPage == null) {//表明在QueryString中没有page这一个参数,此时显示第一页数据 
            intPage = 1;
        } else {//将字符串转换成整型 
            intPage = java.lang.Integer.parseInt(strPage);
            if (intPage < 1)
                intPage = 1;
        }
        //装载JDBC驱动程序 
        Class.forName("oracle.jdbc.driver.OracleDriver");
        sqlCon = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL", "system", "lyjie5220");
        //创建一个可以滚动的只读的SQL语句对象 
        sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,
                java.sql.ResultSet.CONCUR_READ_ONLY);//准备SQL语句 
        strSQL = "select * from USERCHART";
        //执行SQL语句并获取结果集 
        sqlRst = sqlStmt.executeQuery(strSQL);
        //获取记录总数 
        sqlRst.last();//??光标在最后一行 
        intRowCount = sqlRst.getRow();//获得当前行号 
        //记算总页数 
        intPageCount = (intRowCount + intPageSize - 1) / intPageSize;
        //调整待显示的页码 
        if (intPage > intPageCount)
            intPage = intPageCount;
    %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>分頁</title>
    </head>
    <body>
        
        <table border="1" cellspacing="0" cellpadding="0">
    
            <%
                if (intPageCount > 0) {
                    //将记录指针定位到待显示页的第一条记录上 
                    sqlRst.absolute((intPage - 1) * intPageSize + 1);
                    //显示数据 
                    i = 0;
                    String user_id, user_name;
                    while (i < intPageSize && !sqlRst.isAfterLast()) {
                        user_id = sqlRst.getString(1);
                        user_name = sqlRst.getString(2);
            %>
            <tr>
                <td><%=user_id%></td>
                <td><%=user_name%></td>
    
            </tr>
            <%
                sqlRst.next();
                        i++;
                    }
                }
            %>
        </table>
    
    <form method="POST" action=""><%=intPage%>页 共<%=intPageCount%><%
            if (intPage < intPageCount) {
        %>
            <a href="Tem2.jsp?Page=1">首页</a> <a
                href="Tem2.jsp?page=<%=intPage + 1%>">下一页</a>
            <%
                }
            %>
            <%
                if (intPage > 1) {
            %>
            <a href="Tem2.jsp?page=<%=intPage - 1%>">上一页</a> <a
                href="Tem2.jsp?Page=<%=intPageCount%>">尾页</a>
            <%
                }
            %>
            转到第:<input id="goPage" type="text" size="8"> 页 <a href="#"
                onClick="test()">跳转</a>
    
        </form>
        <%
            String cpage = request.getParameter("cpage");
            out.append(cpage);
            //response.sendRedirect("Tem2.jsp?page=intPage + 1");
        %>
        
    </body>
    </html>
    <%
        //关闭结果集 
        sqlRst.close();
        //关闭SQL语句对象 
        sqlStmt.close();
        //关闭数据库 
        sqlCon.close();
    %>
  • 相关阅读:
    Zabbix安装部署
    设计模式目录导航
    [内排序]八大经典排序合集
    SpringBoot集成基于tobato的fastdfs-client实现文件上传下载和删除
    Docker部署FastDFS(附示例代码)
    Docker部署Portainer搭建轻量级可视化管理UI
    Maven基础知识详解
    SpringBoot整合Swagger2详细教程
    screw一键生成数据库文档
    SpringBoot + Mybatis-Plus 实现多数据源简单示例
  • 原文地址:https://www.cnblogs.com/vactor/p/4899313.html
Copyright © 2020-2023  润新知