轉到指定頁的分頁


1.概述

     對於數據分頁較少的情況可以使用上一頁或下一頁進行數據翻頁,如果數據過多,通過上一頁或是下一頁要想顯示某一指定的頁面就會很不方便。因此本實例實現一個具有跳轉功能的分頁顯示。這樣使用者就可以很方便地跳轉到指定頁面。運行程序,輸入頁次,單擊GO按鈕,即可跳轉到指定頁。

 

2.技術要點

     結合了兩種頁面間傳遞參數的方法:地址傳遞和表單傳遞,地址傳遞適用於簡單的不包含中文的參數傳遞,而表單傳遞就可以傳遞多種類型的數據。在本實例中,使用兩種方式傳遞的是同一個參數,該參數用來指定當前頁碼,這樣不論是單擊GO按鈕還是單擊“上一頁”及“下一頁”超級鏈接都可以翻頁。

 

3.具體實現

1)創建數據庫操作類,定義構造方法UserDao()加載數據庫驅動,定義Connection()方法創建與數據庫的連接,定義selectStatic()方法執行查詢操作,定義closeConnection()方法關閉數據庫。

2)創建index.jsp頁面。首先,通過JavaBean標簽調用數據可靠操作類UserDao,並定義在分頁輸出數據中使用的參數。

<%@ page language="java" import="java.sql.*,java.lang.*,java.util.*"

       contentType="text/html; charset=gb2312" pageEncoding="GBK"%>

<jsp:useBean id="selectall" scope="page" class="com.pkh.dao.UserDao" />

<%!

    int CountPage = 0;

       int CurrPage = 1;

       int PageSize = 5;

       int CountRow = 0;

%>

然后,根據傳遞的參數獲取當前顯示的頁碼,執行查詢結語句,獲取到結果集並定位顯示數據。

<%

    String StrPage = request.getParameter("Page");              //獲取當前頁

       if (StrPage == null || StrPage == "") {

              CurrPage = 1;                             //定義當前頁為第1頁

       } else {

              CurrPage = Integer.parseInt(StrPage);             //獲取當前頁的值

       }

       ResultSet Rs;

       String SQL = "Select * From tb_ClassList";             //定義SQL語句

       Rs = selectall.selectStatic(SQL);                      //執行查詢語句

       Rs.last();

       int i = 0;

       CountRow = Rs.getRow();                          //獲取查詢結果集中的記錄數

       CountPage = (CountRow / PageSize);                 //計算總的頁數

       if (CountRow % PageSize > 0)

              CountPage++;

       Rs.first();                                        //獲取第1條記錄

       if (CountRow > 0) {

              Rs.absolute(CurrPage * PageSize - PageSize + 1);        //指定跳轉的頁碼

              while (i < PageSize && !Rs.isAfterLast()) {    //循環輸出數據

%>

    <tr>

           <td height="30" align="center" nowrap>

                  <span class="style3"><%=Rs.getString("CID")%></span>

           </td>

    </tr>

<%

            Rs.next();

               i++;

        }

        selectall.closeConnection();

       }

%>

最后,創建上一頁、下一頁和最后一頁超級鏈接,鏈接到index.jsp頁面,指定Page作為欄目標識,將頁數作為參數值。關鍵代碼如下:

<tr><td height="30" nowrap>

    [<%=CurrPage%>/<%=CountPage%>] 每頁5條 共<%=CountRow%>條記錄 請輸入頁次

       <input name="Page" type="text" size="4">

       <input type="submit" name="Submit" value="GO">

<%

    if (CurrPage > 1) {

%>

    <a href="index.jsp?Page=<%=CurrPage - 1%>&Values=<%=v%>">上一頁</a>

<% }   %>

<%

    if (CurrPage < CountPage) {

%>

    <a href="index.jsp?Page=<%=CurrPage + 1%>&Values=<%=v%>">下一頁</a>

<% }   %>

    <a href="index.jsp?Page=<%=CountPage%>&Values=<%=v%>">最后一頁</a>

</td></tr>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM