Displaytag (partialList ="true") 分頁例子子

JSP:

<% @ taglib uri = " /WEB-INF/displaytag.tld "  prefix = " display "   %>

< display:table  name ="resultList"   pagesize ="100"  requestURI ="listLog.do"  sort ="external"  id ="row"  partialList ="true"  size ="resultSize" >
          
< display:column  property ="operdate"  title ="操作時間"   ></ display:column >
          
< display:column  property ="pername"  title ="操作人員"   ></ display:column >
          
< display:column  property ="opertype"  title ="操作類型"   ></ display:column >
</ display:table >

name="resultList" 將記錄集存在session或者request中的鍵值
pagesize="100" 每頁顯示100條數據
sort="external"  外部排序
id="row"   表格id值,用於程序得相關的參數
partialList="true"  分段從數據庫中讀數據
size="resultSize"  記錄的總條數,用於計算總頁數


Controller:

// 頁數的參數名
String pageIndexName  =   new  org.displaytag.util.ParamEncoder( "row" ).encodeParameterName(org.displaytag.tags.TableTagParameters.PARAMETER_PAGE);   
// 每頁顯示的條數

int  pageSize  =   100 ;
// 當前頁   

int  pageIndex  =  GenericValidator.isBlankOrNull(request.getParameter(pageIndexName)) ? 0 :(Integer.parseInt(request.getParameter(pageIndexName))  -   1 );  

// 統計總記錄數的sql語句

int  resultSize = logDao.getAllCount();
// 取得當前頁數據

List resultList  =  logDao.getLogList( int  pageIndex, int  pageSize);

try
{
   request.setAttribute(
" resultList " ,resultList);   // 把結果存入request

   request.setAttribute( " resultSize " , new  Integer(rs.getInt( 1 )));      // 將總記錄數保存成Intger實例保存在request中
}
catch (Exception ex) {
   ex.printStackTrace();
}



其中 logDao.getAllCount() 和 logDao.getLogList(int pageIndex,int pageSize),根據不同持久層有不同實現,此處略。
 
發佈了16 篇原創文章 · 獲贊 5 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章