
在servlet的service()方法中只需进行如下 *** 作:
PageControl pageCtl = yourBusinessObjectlistData(reqgetParameter("jumpPage"));
reqsetAttribute("pageCtl",pageCtl);
说明:yourBusinessObject封装了商业逻辑,是位于Business Logic Layer中的一个对象,运用OOAD的方法,封装商业对象,在Persistent Layer之上组建坚实的Business Logic Layer同样是构建大型电子商务架构的关键所在。本文的关注点只是分页处理,暂不详细论述
在每个想要实现翻页显示数据的jsp页面中,我们的工作也很简单,其代码是公式化的:
<jsp:useBean id="pageCtl" class="yourpackagePageControl" scope="request"></jsp:useBean>
<%if(pageCtlmaxPage!=1)){%>
<form name="PageForm" action="/servlet/yourpackageyourservlet" method="post">
<%@ include file="/yourpath/pagemanjsp"%>
</form>
<%}%>
说明:
if(pageCtlmaxPage!=1)实现了这样一个逻辑:如果所取得数据不足一页,那么就不用进行翻页显示。
我们注意到<%@ include file="/yourpath/pagemanjsp"%>这使得真正的翻页部分完全得到了重用
那么pagemanjsp到底做了些什么呢?它实现了经常做翻页处理的人耳熟能详的逻辑
(A)第一页时不能再向前翻;
(B)最后一页时不能再向后翻;
同时能够进行页面任意跳转,具体代码如下:
每页<%=pageCtlrowsPerPage%>行
共<%=pageCtlmaxRowCount%>行
第<%=pageCtlcurPage%>页
共<%=pageCtlmaxPage%>页
<BR>
<%if(pageCtlcurPage==1){ outprint(" 首页 上一页"); }else{ %>
<A HREF="javascript:gotoPage(1)">首页</A>
<A HREF="javascript:gotoPage(<%=pageCtlcurPage-1%>)">上一页</A>
<%}%>
<%if(pageCtlcurPage==pageCtlmaxPage){ outprint("下一页 尾页"); }else{ %>
<A HREF="javascript:gotoPage(<%=pageCtlcurPage+1%>)">下一页</A>
<A HREF="javascript:gotoPage(<%=pageCtlmaxPage%>)">尾页</A>
<%}%>
转到第<SELECT name="jumpPage" onchange="Jumping()">
<% for(int i=1;i<=pageCtlmaxPage;i++) {
if (i== pageCtlcurPage){
%>
<OPTION selected value=<%=i%>><%=i%></OPTION>
<%}else{%>
<OPTION value=<%=i%>><%=i%></OPTION>
<%}}%>
</SELECT>页
最后附上用于页面跳转的javascript公共函数:
function Jumping(){
documentPageFormsubmit();
return ;
}
function gotoPage(pagenum){
documentPageFormjumpPagevalue = pagenum;
documentPageFormsubmit();
return ;
}
运行效果:
以上就是关于如何用JS将数据在页面上分页显示出来全部的内容,包括:如何用JS将数据在页面上分页显示出来、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)