问题描述
我已经将数据封装到list里了,如果直接显示:<%for(inti=0;i<list.size();i++){out.println(list.get(i));}但是我想分页显示,请问,代码应该如何写呢?请高手提供一个做参考,多谢
解决方案
解决方案二:
写个分页的业务类,在JSP或者servlet中调用即可。/***做分页操作的工具类*@authorAdministrator**/publicclassPage{privateintpageidid;//页数privateintprepage;//上一页privateintnextpage;//下一页privateStringnext;privateStringpre;privateintpagesize;privateinttotalRecord;publicintgetTotalRecord(){returntotalRecord;}publicvoidsetTotalRecord(inttotalRecord){this.totalRecord=totalRecord;}publicintgetPagesize(){returnpagesize;}publicvoidsetPagesize(intpagesize){this.pagesize=pagesize;}privateinttotalpage;publicintgetTotalpage(){returntotalpage;}publicvoidsetTotalpage(inttotalpage){this.totalpage=totalpage;}publicintgetPageidid(){returnpageidid;}publicvoidsetPageidid(intpageidid){this.pageidid=pageidid;}publicintgetPrepage(){returnprepage;}publicvoidsetPrepage(intprepage){this.prepage=prepage;}publicintgetNextpage(){returnnextpage;}publicvoidsetNextpage(intnextpage){this.nextpage=nextpage;}publicStringgetNext(){returnnext;}publicvoidsetNext(Stringnext){this.next=next;}publicStringgetPre(){returnpre;}publicvoidsetPre(Stringpre){this.pre=pre;}publicPage(Stringnext,intnextpage,intpageidid,Stringpre,intprepage,inttotalpage){super();this.next=next;this.nextpage=nextpage;this.pageidid=pageidid;this.pre=pre;this.prepage=prepage;this.totalpage=totalpage;}publicPage(){super();}//pageid当前页,all总记录数,num为每页显示大小publicvoidapartPage(intpageid,intall,intnum){this.totalpage=this.computeTotal(all,num);//首先计算总页数this.totalRecord=all;this.setPagesize(num);this.setPageidid(pageid);this.setNextpage(pageid);this.setPrepage(pageid);this.setNext("下一页");this.setPre("上一页");if(pageid>1){//表示有上一页this.setPrepage(pageid-1);}else{this.setPre("首页");}intrest=all-pageid*num;if(rest>0){//表示有下一页this.setNextpage(pageid+1);}else{this.setNext("尾页");}if(this.pre.equals("首页")&&this.next.equals("尾页")){this.setNext("");}}//计算总页数privateintcomputeTotal(intall,intnum){intpage=all/num;page=all/num>0?page+1:page;setTotalpage(page);returnthis.totalpage;}}
解决方案三:
给你一个参考:<%@pageimport="java.sql.*,com.bjsxt.shopping.order.*,java.util.*"%><%!privatestaticfinalintPAGE_SIZE=2;%><%StringstrPageNo=request.getParameter("pageno");intpageNo=1;if(strPageNo!=null){pageNo=Integer.parseInt(strPageNo);}if(pageNo<1)pageNo=1;%><%//getalltheusersList<SalesOrder>orders=newArrayList<SalesOrder>();inttotalRecords=OrderMgr.getInstance().getOrders(orders,pageNo,PAGE_SIZE);inttotalPages=(totalRecords+PAGE_SIZE-1)/PAGE_SIZE;if(pageNo>totalPages)pageNo=totalPages;%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=GB18030"><title>Inserttitlehere</title></head><body><tableborder="1"align="center"><tr><td>ID</td><td>username</td><td>addr</td><td>odate</td><td>status</td><td></td></tr><%for(Iterator<SalesOrder>it=orders.iterator();it.hasNext();){SalesOrderso=it.next();%><tr><td><%=so.getId()%></td><td><%=so.getUser().getUsername()%></td><td><%=so.getAddr()%></td><td><%=so.getODate()%></td><td><%=so.getStatus()%></td><td><ahref="OrderDetailShow.jsp?id=<%=so.getId()%>"target="detail">订单明细</a> <ahref="OrderModify.jsp?id=<%=so.getId()%>"target="detail">订单修改</a></td></tr><%}%></table><center>第<%=pageNo%>页 共<%=totalPages%>页 <ahref="OrderList.jsp?pageno=<%=pageNo-1%>">上一页</a> <ahref="OrderList.jsp?pageno=<%=pageNo+1%>">下一页</a> <ahref="OrderList.jsp?pageno=<%=totalPages%>">最后一页</a></center>
解决方案四:
谢谢,但是有个问题,我的数据已经在当前jsp页提取,也已经存储到list中了,不涉及到javabean呀,应该如何写呢?多谢
解决方案五:
引用3楼qianghan9的回复:
谢谢,但是有个问题,我的数据已经在当前jsp页提取,也已经存储到list中了,不涉及到javabean呀,应该如何写呢?多谢
如果数据量不大,可以考虑使用js方法将其进行假分页。
解决方案六:
谢谢2楼提供的page程序,但是我在jsp页中如何调用呢?请提示下:)多谢
解决方案七:
用severlt调用啊
解决方案八:
在你的web。xml里面配置成像这样的:servlet><servlet-name>InitServlet</servlet-name><servlet-class>servlet.InitServlet</servlet-class><init-param><param-name>dbUrl</param-name><param-value>/WEB-INF/db.mdb</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>InitServlet</servlet-name><url-pattern>/InitServlet</url-pattern></servlet-mapping>
解决方案九:
封装一个pageclasspage{intcurrentPage;//当前页intmaxResults;//本页记录数}找个数据库分页算法参数点击分页时搞个form提交过去分页算法晚上一大堆
解决方案十:
ext自带分页功能,有可能的话可以考虑下
解决方案十一:
是这样的,我需要的能对存储在list中的数据进行分页显示呀:)由于初学知识很浅,望指教:)
解决方案十二:
jsp中还是一样的来处理的啊,你把分页用的类写好,然后jsp中引用这个类,具体逻辑实现还是要你自己多想想;不过还是建议你把对数据库的操作不要写到jsp中,这样耦合性太强了
解决方案十三:
哦,我再试试:)谢谢
解决方案十四:
仍然没有成功,还望能给个详细点代码参考下:)真的非常感谢
解决方案十五:
我从网上找了一段代码:http://zhidao.baidu.com/question/111135323.html,不同的是它那个数据在javabean中读取数据封装在list中,那么我的数据是在jsp页面读取出来然后封装在list中,请问应该如何改写呢?谢谢
解决方案:
u7p