首页 > Web开发 > 详细

jsp学习-分页功能的实现

时间:2015-10-22 00:04:23      阅读:290      评论:0      收藏:0      [点我收藏+]
<%@ 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();
%>

 

jsp学习-分页功能的实现

原文:http://www.cnblogs.com/vactor/p/4899313.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!