タブページクラスのレコード情報
1 パブリック クラス DBPage <T> { 2 // ページの合計数 3。 プライベート INT totalPageCount = 1 ; 4 // ページのサイズ、すなわち、ページあたりのレコード数 5。 プライベート INTのpageSize = 3 ; 6 // レコードの合計数 。7 プライベート INT totalCountプロパティ= 0 ; 8 // 現在のページ 9。 プライベート INT currPageNo = 1。; 10 // ページセット 11。 一覧<T> = USERSLIST 新しい新規のArrayList <> (); 12は、 公衆 INT getTotalPageCount(){ 13 リターンtotalPageCount。 14 } 15 公共 ボイド setTotalPageCount(INT totalPageCount){ 16 この .totalPageCount = totalPageCount。 17 } 18 公衆 INT はgetpagesize(){ 19 リターンのpageSize。 20 } 21 公共 ボイド setPageSize(INT のpageSize){ 22 この .pageSize = のpageSize。 23 } 24 公衆 int型所与otalカウント(){ 25 リターン合計数を、 26 } 27 公共 ボイド見otalカウント(INT 総数){ 28 この .totalCount = 総数。 29 } 30 公衆 INT getCurrPageNo(){ 31 リターンcurrPageNo。 32 } 33 公共 ボイド setCurrPageNo(INT currPageNo){ 34 この .currPageNo = currPageNo。 35 } 36 パブリックリスト<T>getUsersList(){ 37 リターンUSERSLIST。 38 } 39 公共 ボイド setUsersList(リスト<T> USERSLIST){ 40 この .usersList = USERSLIST。 41 } 42 }
クラスのユーザ操作情報取得方法をページング
1 公共 DBPage <ユーザー> queryByPage(DBPage <ユーザー> dbPage){ 2つ のCachedRowSet totalCrs = この .execQuery( "SELECT COUNT(1)t_userから" )。 3 試行{ 4 ながら(totalCrs.next()){ 5 int型のカウント= totalCrs.getInt(1 )。 6 dbPage.setTotalCount(カウント)。 7 } 8 } キャッチ(のSQLException E){ 9 e.printStackTrace(); 10 } 最後に{ 11 のtry { 12 totalCrs.close(); 13 } キャッチ(のSQLException E){ 14 e.printStackTrace(); 15 } 16 } 17 18 であれば(dbPage.getTotalCount()> 0 ){ 19 // 计算总页数 20 INT totalCountプロパティ= dbPage.getTotalCount()。 21 INTのpageSize = dbPage.getPageSize()。 22 dbPage.setTotalPageCount(totalCountプロパティ%のpageSize == 0(totalCountプロパティ/ pageSizeを):totalCountプロパティ/のpageSize + 1 )。 23 } 24 25 CachedRowSetのpageCrs = この .execQueryは( "?t_user制限SELECT * FROM" 、 26 (dbPage.getCurrPageNo() - 1)* dbPage.getPageSize()、dbPage.getPageSize())。 27 試み{ 28 ながら(pageCrs.next()){ 29 列のuname = pageCrs.getString( "のuname" )。 30 列upwd = pageCrs.getString( "upwd" )。 31 INT isAdmin = pageCrs.getInt( "isAdmin" )。 32 。dbPage.getUsersList()を追加し(新しいユーザー(0 、のuname、upwd、isAdmin))。 33 } 34 } キャッチ(のSQLException E){ 35 e.printStackTrace(); 36 } 最後に{ 37 のtry { 38 pageCrs.close()。 39 } キャッチ(のSQLException E){ 40 e.printStackTrace(); 41 } 42 } 43 リターンdbPage。 44 }
JSPページ表示ページネーション情報
1 <% 2 DBPage <ユーザー> dbPage = 新しい DBPage <> (); 3 int型PAGENO。 4 列dbPageNo =(文字列)request.getParameter( "PAGENO" )。 5 もし(dbPageNo == NULL ){ 6 PAGENO = 1 。 7 } 他{ 8 PAGENO = Integer.valueOf(dbPageNo)。 9 dbPage.setCurrPageNo(PAGENO)。 10 } 11 UserDaoImpl userDaoImpl = 新しいUserDaoImpl()。 12 userDaoImpl.queryByPage(dbPage)。 13 %> 14 <テーブル境界= "1" ALIGN = "センター"> 15 <TR> 16 <TD>用户名</ TD> 17 <TD>密码</ TD> 18 <TD>管理员</ TD> 19 </ TR> 20 <% 21 用(ユーザU:dbPage.getUsersList()){ 22 %> 23 <TR> 24 <TD> <%= u.getUname()%> </ TD> 25 <TD> <%= u.getPwd()%> </ TD> 28 <% 29 } 30 %> 31 </テーブル> 32 当前<%= PAGENO%> 页 33 <br /> 34 <% 35 36 %> 37 <a href="?pageNo=<%=1%>」 >首页</a>の 38 <a href="?pageNo=<%=pageNo-1<1?pageNo:pageNo-1%> ">上一页</a>の 39 <のhref ="?PAGENO = < %=(PAGENO + 1)> dbPage.getTotalPageCount()PAGENO:PAGENO + 1%> ">下一页</a>の 40 <a href="?pageNo=<%=dbPage.getTotalPageCount()%>" >尾页する</a>