熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Struts 中如何實現查詢結果分頁顯示

2022-06-13   來源: Java開源技術 

  messagelistdo > messagelistjsp

  用 messagelistdo?start= 來顯示第一個頁面

  參數說明

  list信息列表

  start開始位置

  page每頁顯示的信息數目

  previous上頁開始位置

  next下頁開始位置

  MessageListAction 裡的 perform 是這樣寫的

  

  int start = IntegerparseInt(requestgetParameter(start));

  Systemoutprintln (Start: + start);

  int page = ;

  // create a message list

  Message[] list = new Message[];

  for (int i=; i< listlength; i++){

  list[i] = new Message(i message + i);

  }

  requestsetAttribute(list list);

  requestsetAttribute(start new Integer(start));

  requestsetAttribute(page new Integer(page));

  // if there is a previous page set the previous variable

  int previous = startpage;

  if ( previous >= ){

  requestsetAttribute(previous new Integer(previous));

  Systemoutprintln (previous: + previous);

  }

  // if there is a next page set the next variable

  int next = start+page;

  if ( next< listlength ){

  requestsetAttribute(next new Integer(next));

  Systemoutprintln (next: + next);

  }

  return (mappingfindForward(success));

  

  下面是 messagelistjsp 裡的內容

  

  < logic:iterate id=message name=list offset=start length=page >

  < br >< html:link

  paramId=id paramName=message paramProperty=id

  page=/messagedetaildo >

  < bean:write name=message property=name / >

  < /html:link >

  < /logic:iterate >

  < logic:present name=previous >

  < br >< html:link

  paramId=start paramName=previous

  page=/messagelistdo >

  上一頁

  < /html:link >

  < /logic:present >

  < logic:present name=next >

  < br >< html:link

  paramId=start paramName=next

  page=/messagelistdo >

  下一頁

  < /html:link >

  < /logic:present >

  

  以此例子來說明 logic:iterate 在分頁裡的用法

  由於每次 messagelistdo 都會處理所有的 message所以性能上還是可以再優化

  比如把 message 數組存放在 session 裡


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28903.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.