messagelist.do->messagelist.jsp
用messagelist.do?start=0来显示第一个页面
参数说明:
list:信息列表
start:开始位置
page:每页显示的信息数目
previous:上页开始位置
next:下页开始位置
Struts-config.xml里是这么写的:
------------------------------------------------------------------------------------
<form-bean name="pagerForm" type="com.wiscom.pj.commision.forms.PagerForm">
</form-bean>
<action path="/multiPage" type="com.wiscom.pj.commision.actions.MultiPageAction" name="pagerForm" scope="session">
<forward name="userGroup" path="/user/userGroupList.jsp">
</forward>
</action>
------------------------------------------------------------------------------------
MessageListAction里的perform是这样写的:
------------------------------------------------------------------------------------
intstart=Integer.parseInt(request.getParameter("start"));
System.out.println("Start:"+start);
intpage=4;
//createamessagelist
Message[]list=newMessage[16];
for(inti=0;i<list.length;i++){
list[i]=newMessage(i,"message"+i);
}
request.setAttribute("list",list);
request.setAttribute("start",newInteger(start));
request.setAttribute("page",newInteger(page));
//ifthereisapreviouspage,setthepreviousvariable
intprevious=start-page;
if(previous>=0){
request.setAttribute("previous",newInteger(previous));
System.out.println("previous:"+previous);
}
//ifthereisanextpage,setthenextvariable
intnext=start+page;
if(next<list.length){
request.setAttribute("next",newInteger(next));
System.out.println("next:"+next);
}
return(mapping.findForward("success"));
------------------------------------------------------------------------------------
MessageListForm里是这样写的:
------------------------------------------------------------------------------------
public Message[] userGroups = null ;
public Message[] getUserGroups() {
return userGroups;
}
用messagelist.do?start=0来显示第一个页面
参数说明:
list:信息列表
start:开始位置
page:每页显示的信息数目
previous:上页开始位置
next:下页开始位置
Struts-config.xml里是这么写的:
------------------------------------------------------------------------------------
<form-bean name="pagerForm" type="com.wiscom.pj.commision.forms.PagerForm">
</form-bean>
<action path="/multiPage" type="com.wiscom.pj.commision.actions.MultiPageAction" name="pagerForm" scope="session">
<forward name="userGroup" path="/user/userGroupList.jsp">
</forward>
</action>
------------------------------------------------------------------------------------
MessageListAction里的perform是这样写的:
------------------------------------------------------------------------------------
intstart=Integer.parseInt(request.getParameter("start"));
System.out.println("Start:"+start);
intpage=4;
//createamessagelist
Message[]list=newMessage[16];
for(inti=0;i<list.length;i++){
list[i]=newMessage(i,"message"+i);
}
request.setAttribute("list",list);
request.setAttribute("start",newInteger(start));
request.setAttribute("page",newInteger(page));
//ifthereisapreviouspage,setthepreviousvariable
intprevious=start-page;
if(previous>=0){
request.setAttribute("previous",newInteger(previous));
System.out.println("previous:"+previous);
}
//ifthereisanextpage,setthenextvariable
intnext=start+page;
if(next<list.length){
request.setAttribute("next",newInteger(next));
System.out.println("next:"+next);
}
return(mapping.findForward("success"));
------------------------------------------------------------------------------------
MessageListForm里是这样写的:
------------------------------------------------------------------------------------
public Message[] userGroups = null ;
public Message[] getUserGroups() {
return userGroups;
}
public void setUserGroups(Message[] messages) {
userGroups = messages;
}
------------------------------------------------------------------------------------
下面是messagelist.jsp里的内容:
------------------------------------------------------------------------------------
<logic:iterateid="message"name="list"offset="start"length="page">
<br><html:link
paramId="id"paramName="message"paramProperty="id"
page="/messagedetail.do">
<bean:writename="message"property="name"/>
</html:link>
</logic:iterate>
<logic:presentname="previous">
<br><html:link
paramId="start"paramName="previous"
page="/messagelist.do">
上一页
</html:link>
</logic:present>
<logic:presentname="next">
<br><html:link
paramId="start"paramName="next"
page="/messagelist.do">
下一页
</html:link>
</logic:present>
------------------------------------------------------------------------------------
以此例子来说明logic:iterate在分页里的用法
由于每次messagelist.do都会处理所有的message,所以性能上还是可以再优化
比如把message数组存放在session里。
:)
原文地址
http://www.chinaxp.org/forum/viewThread.go?parentId=1051714599611&forum=3