java

位置:IT落伍者 >> java >> 浏览文章

Struts 中如何实现查询结果分页显示


发布日期:2021年12月08日
 
Struts 中如何实现查询结果分页显示

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 里

               

上一篇:spring集成hessian

下一篇:在Eclipse中使用Hibernate一(组图)