Java另一種分頁技術

來源:互聯網
上載者:User

 整體系統採用Java中Spring ,Struts, Hibernate組成。

在Action中:

public ActionForward orgview(ActionMapping mapping, ActionForm form,HttpServletRequest request,HttpServletResponse response) {<br />// TODO Auto-generated method stub<br />ActionForward forward = new ActionForward("strpath");<br />HttpSession session=request.getSession();<br />String usrid=(String) session.getAttribute("uid");<br />BxGoodsgoods=new BxGoods(); //表名<br />String whe_str=" where c.collectType=0 and c.userId='"+usrid+"'"; //查詢的SQL語句<br />String tableName=" BxCollectGoods as c "; //表名<br />int dipage =1;<br />int pageSize =10;<br />int count= currentPage.allRecord(tableName, whe_str);<br />int allPage = currentPage.allPage(count, pageSize);<br />Object d=request.getParameter("d");<br />if(d!=null)<br />dipage=Integer.valueOf(d.toString());<br />List list_cg = currentPage.currentPage(tableName, whe_str, dipage, pageSize, allPage);<br />List list=new ArrayList();<br />Iterator iter=list_cg.iterator();</p><p>while(iter.hasNext()){<br />BxCollectGoods cg =(BxCollectGoods) iter.next();<br />CollectGoods cgBean=new CollectGoods(); </p><p>String collectname = cg.getCollectName();<br />String collectId = cg.getCollectId(); </p><p>goods =goodsDAO.findById(cg.getCollectId());<br />BxUser bx_user = userDAO.findById(goods.getUserId());<br />cgBean.setSellerName(bx_user.getUserName()); </p><p>BxUser user =userDAO.findById(cg.getUserId());<br />cgBean.setBuyId(cg.getUserId());<br />cgBean.setCollectName(cg.getCollectName());<br />cgBean.setCollectType(cg.getCollectType());<br />cgBean.setRecaddTime(cg.getAddTime());<br />cgBean.setCollectId(cg.getCollectId());<br />cgBean.setShopPrice(goods.getShopPrice());<br />cgBean.setGoodsName(goods.getGoodsName());<br />cgBean.setRecId(cg.getRecId());<br />cgBean.setGoodsImg(goods.getGoodsThumb());</p><p>list.add(cgBean);<br />}<br />request.setAttribute("list", list);<br />request.setAttribute("d",dipage);<br />request.setAttribute("count",count);<br />request.setAttribute("allPage",allPage);<br />request.setAttribute("pageSize",pageSize);</p><p>forward.setPath("/user/goods/demo.jsp");<br />return forward;<br />}

 

 

在前台JSP介面中:

 <!--以下代碼為核心代碼--></p><p><!--引入的JS代碼--><br /><mce:script type='text/javascript' src="../js/page.js" mce_src="js/page.js"></mce:script><br /><%<br /> String d = "1";<br /> if (request.getAttribute("d") != null){<br /> d = request.getAttribute("d").toString();<br /> String allPage = request.getAttribute("allPage").toString();<br /> }<br /> String count = request.getAttribute("count").toString();<br />%><br /> <mce:script type="text/javascript"><!--<br /> var page = new Page(<%=allPage%>,'collection');<br /> var store = new Store(<%=d%>);<br /> var account=new Account();<br /> </mce:script> </p><p><!--JSP代碼--><br /> <div class="page"><br /> <div class="recordcount"> 到第<br /> <input name="" type="text" size="4" id="dp" maxlength="5" onblur="this.value=this.value.replace(/[^/d]/g,'')"> 頁<br /> <input name="" type="button" value="查看" onclick="page.collection('0')"><br /> </div><br /> <ul id='viewpage'></ul><br /> <div class="recordcount">共有 <font color="red" size="3.5"><%=count %></font> 條記錄</div><br /> <mce:script type="text/javascript"><br />page.currentPage(<%=d%>);<br /> </mce:script>

 

前台Page.js中:

function Page(allpage,m){</p><p>this.allPage=allpage;<br />this.p=10;<br />if(allpage<this.p)<br />this.p=allpage;<br />this.n=parseInt(this.p/2);<br />this.tmpDipage = 0;<br />this.list=new Array();<br />this.method=m;</p><p>}<br />Page.prototype.currentPage=function (dipage){</p><p>var f=dipage-this.n;<br />var t=dipage+this.n;<br />if(f<=0)<br />f=1;<br />if(f==1)<br />t=this.p;</p><p>if(dipage+this.n>=this.allPage)<br />f = this.allPage - this.p + 1;<br />if (t > this.allPage)<br />t = this.allPage;</p><p>for (var i = f; i <= t; i++) {</p><p>this.list.push(f);<br />++f;<br />}<br />this.tmpDipage=dipage;<br />if(dipage>=this.allPage)<br />this.tmpDipage=this.allPage;<br />if(dipage<=1)<br />this.tmpDipage=1;</p><p>this.printPage();</p><p>}</p><p>Page.prototype.printPage = function() {</p><p>var m=this.method;<br />var p_str="<li><a title=第一頁 onclick='page."+m+"(1)' style="cursor:pointer" mce_style="cursor:pointer" ><img src="../images/last.gif" mce_src="images/last.gif" width=18 height=18 align=bottom></a></li>";</p><p>for(var i=0;i<this.list.length;i++){<br />var a_id=this.list[i];<br />p_str+="<li id="+a_id+"><a style="cursor:pointer" mce_style="cursor:pointer" onclick='page."+m+"("+a_id+")'>"+a_id+"</a></li>";<br />}<br />this.list.length=0;<br />p_str+="<li><a title=最後一頁 onclick='page."+m+"("+this.allPage+")"+"' style="cursor:pointer" mce_style="cursor:pointer" ><img src="../images/next.gif" mce_src="images/next.gif" width=18 height=18 align=bottom></a></li>";</p><p>$obj('viewpage').innerHTML=p_str;</p><p>$obj(this.tmpDipage).className="page_current";</p><p>}</p><p>//colection</p><p>Page.prototype.colection = function(dispage) {<br />if(dispage==0)<br />dispage=1;<br />var str=$obj('str').value;<br />window.location=URL("user")+"collectionShop.do?m=cokeview&d="+dispage+"&str="+str ;<br />}

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.