天天看點

純Jsp分頁技術

<![endif]-->

這是我這兩天剛做的jsp分頁技術,才剛剛學,做得有些粗糙……

1、  定義 4 個變量

pageSize : 每頁顯示多少條記錄

pageNow 顯示目前的哪一頁,預設是第一頁

rowCount 通過資料庫查詢得到多少條記錄 ( 總共多少條記錄 )

pageCount 通過計算得到每頁多少條記錄

其中計算方法如下:

If(rowCount%pageSize==0){

pageCount=rowCount/pageSize;

}

Else{

pageCount=rowCount/pageSize+1;

}

2、  連接配接資料庫(我用的是 mySql 資料庫)

純Jsp分頁技術

<![endif]-->

上面是我的資料庫 test 表 student 中資料,可以根據自己實際要求建立。

3、  在 jsp 檔案中處理資料庫中的字段,且實作分頁效果

4、  運作檔案,檢視分頁效果

下面是分頁技術代碼:

<%

int pageSize=3; // 每頁顯示多少條記錄,我這裡是每頁顯示 3 條記錄,根據自己需求可以改

int pageNow=1; // 顯示目前的哪一頁,預設是第一頁

int rowCount=0; // 通過資料庫查詢得到多少條記錄 ( 總記錄的條數 )

int pageCount=0; // 通過計算得出總共有多少頁

int i = 0;

if ( null != request.getParameter( "pageNow" ) && "" != request.getParameter( "pageNow" )){

    i = Integer.parseInt(request.getParameter( "pageNow" ));

    pageNow = i;

}

else {

    i = pageNow;

    }

// 加載驅動

Class.forName( "com.mysql.jdbc.Driver" );

  // 建立連接配接

  Connection conn=DriverManager.getConnection( "jdbc:mysql://127.0.0.1:3306/test" , "root" , "123456" );

  // 建立 Statement

  Statement sta =conn.createStatement();

  // 建立結果集 後面的 sql 語句是計算出表中記錄的總條數

  ResultSet re=sta.executeQuery( "select count(*) from student" );

  if (re.next())

  {

  rowCount=re.getInt(1);

  }

  // 計算 pageCount

  if (rowCount%pageSize==0){

     pageCount=rowCount/pageSize;

  }

  else {

     pageCount=rowCount/pageSize+1;

  }

  re=sta.executeQuery( "select * from student where id limit " +(pageNow-1)*pageSize+ "," +pageSize+ "" );

<!— 這裡的 sql 語句要特别注意,這裡是指查詢你要顯示第幾頁的那條記錄開始,直到後面的第幾條記錄,我這裡是後面的 3 條記錄,因為我隻要求每頁顯示 3 條記錄 ( 我就在這裡犯過錯的 )-->

  %>

  < table border = "2px" >

  < tr >

  < td > 使用者 ID </ td >< td > 使用者名 </ td >< td > 密碼 </ td >< td > 等級 </ td >

  </ tr >

  <%

  while (re.next()){

  %>

  <!-- 得到資料庫的每個字段的值   -->

  < tr >

  < td > <%= re.getString( "id" ) %> </ td >

  < td > <%= re.getString( "name" ) %> </ td >

  < td > <%= re.getString( "password" ) %> </ td >

  < td > <%= re.getString( "grade" ) %> </ td >

  </ tr >

  <%

  }

  %>

  </ table >

  <%

  // 上一頁

  if (pageNow!=1){

  out.println( "<a href=login.jsp?pageNow=" +(pageNow-1)+ "> 上一頁 </a>" );

  }

  // 每一 頁

  for ( int j=1;j<=pageCount;j++){

out.println( "<a href=login.jsp?pageNow=" +j+ ">[" +j+ "]</a>" );

}

// 下一頁

if (pageNow!=pageCount){

out.println( "<a href=login.jsp?pageNow=" +(pageNow+1)+ "> 下一頁 </a>" );

}

  %>

最終效果圖展示,如下:

純Jsp分頁技術
純Jsp分頁技術
純Jsp分頁技術