<![endif]-->
這是我這兩天剛做的jsp分頁技術,才剛剛學,做得有些粗糙……
1、 定義 4 個變量
pageSize : 每頁顯示多少條記錄
pageNow 顯示目前的哪一頁,預設是第一頁
rowCount 通過資料庫查詢得到多少條記錄 ( 總共多少條記錄 )
pageCount 通過計算得到每頁多少條記錄
其中計算方法如下:
If(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}
Else{
pageCount=rowCount/pageSize+1;
}
2、 連接配接資料庫(我用的是 mySql 資料庫)
<![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>" );
}
%>
最終效果圖展示,如下: