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

來源:互聯網
上載者:User
分頁|顯示

messagelist.do - > messagelist.jsp

用 messagelist.do?start=0 來顯示第一個頁面

參數說明:

list:資訊列表

start:開始位置

page:每頁顯示的資訊數目

previous:上頁開始位置

next:下頁開始位置

MessageListAction 裡的 perform 是這樣寫的:

------------------------------------------------------------------------------------

int start = Integer.parseInt(request.getParameter("start"));

System.out.println ("Start:" + start);

int page = 4;

// create a message list

Message[] list = new Message[16];

for (int i=0; i< list.length; i++){

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

}

request.setAttribute("list", list);

request.setAttribute("start", new Integer(start));

request.setAttribute("page", new Integer(page));

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

int previous = start-page;

if ( previous >=0 ){

request.setAttribute("previous", new Integer(previous));

System.out.println ("previous:" + previous);

}

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

int next = start+page;

if ( next< list.length ){

request.setAttribute("next", new Integer(next));

System.out.println ("next:" + next);

}

return (mapping.findForward("success"));

------------------------------------------------------------------------------------

下面是 messagelist.jsp 裡的內容:

------------------------------------------------------------------------------------

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

< br >< html:link

paramId="id" paramName="message" paramProperty="id"

page="/messagedetail.do" >

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

< /html:link >

< /logic:iterate >

< logic:present name="previous" >

< br >< html:link

paramId="start" paramName="previous"

page="/messagelist.do" >

上一頁

< /html:link >

< /logic:present >

< logic:present name="next" >

< br >< html:link

paramId="start" paramName="next"

page="/messagelist.do" >

下一頁

< /html:link >

< /logic:present >

------------------------------------------------------------------------------------

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

由於每次 messagelist.do 都會處理所有的 message,所以效能上還是可以再最佳化

比如把 message 數組存放在 session 裡。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。