国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
struts中符合MVC結(jié)構(gòu)的分頁(yè)實(shí)現(xiàn)

需要分頁(yè)的jsp頁(yè)面中只需這些:
page.jsp
<logic:iterate id="item" name="pageCtrl" property="datas">
    <bean:write name="item" property="propertyValues.id"/><br/>
    <bean:write name="item" property="propertyValues.title"/><br/>
    <bean:write name="item" property="propertyValues.publishDate"/><br />
</logic:iterate>

<form name="PageForm"  action="/pageAction.do" >
    <%@ include file="/pagectrl.jsp"%>
</form>

------------------------------------------------------------------------
pageAction中只需這些:
String sCurPageNum = request.getParameter("curPageNum");//取得當(dāng)前頁(yè),這個(gè)參數(shù)在包含文件pagectrl.jsp中,往后看就知道了
int curPageNum = 1;
if (sCurPageNum != null) {
    curPageNum = Integer.parseInt(sCurPageNum);
}

PageCtrl pageCtrl = new PageCtrl(curPageNum, model.WTONews.getPageInfo());//model.WTONews這個(gè)類是難點(diǎn)
request.setAttribute("pageCtrl", pageCtrl);//可以看到,在page.jsp頁(yè)面中的數(shù)據(jù)都是從pageCtrl對(duì)象中獲得的。
mapping.findForward("page");

--------------------------------------------------------------------------
model.WTONews類中的getPageInfo()方法:
public static PageInfo getPageInfo() {
    List p = new Vector();
    p.add("title");
    p.add("id");
    p.add("publishDate");

    PageInfo pageInfo = new PageInfo();
    pageInfo.setSelectAllSql("select title,id,publishdate from wto_article");
    pageInfo.setRowCountSql("select count(*) from wto_article");
    pageInfo.setRowCountPerPage(4);
    pageInfo.setPropertyNames(p);
    pageInfo.setBeanName("model.WTONews");

    return pageInfo;
}

--------------------------------------------------------------------------
好了,到目前為止,你所看到的分頁(yè)實(shí)現(xiàn)應(yīng)該還算干凈利索吧!如果你有興趣的話,請(qǐng)繼續(xù)閱讀。
這個(gè)分頁(yè)的思路如下,(思路比源代碼重要的多):

首先,在pageAction中,我們要獲取page.jsp中要顯示的數(shù)據(jù)。
a)獲取當(dāng)前頁(yè)代碼,如果為空,即說(shuō)明我們還沒(méi)有訪問(wèn)過(guò)page.jsp。那么要設(shè)為第一頁(yè)。
b)建立pageCtrl對(duì)象,該對(duì)象負(fù)責(zé)根據(jù)curPageNum,來(lái)獲取當(dāng)前要顯示的數(shù)據(jù)。而數(shù)據(jù)庫(kù)的訪問(wèn)語(yǔ)句,每頁(yè)顯示多少行等信息則由相關(guān)的model來(lái)提供。正如前面你見到的那樣。
c)把該pageCtrl對(duì)象存入request作用域。
d)轉(zhuǎn)發(fā)到page.jsp。(如果你不懂轉(zhuǎn)發(fā),請(qǐng)參考http://blog.csdn.net/funcreal/archive/2004/09/17/108060.aspx
然后,就是顯示了
a)通過(guò)<logic:iterate id="item" name="pageCtrl" property="datas">這一句你應(yīng)該可以猜到pageCtrl提供了一個(gè)getDatas方法,并且它的類型很可能是List。事實(shí)上,確是如此。
b)然后顯示每一個(gè)屬性<bean:write name="item" property="propertyValues.id"/>注意里面的property的值是propertyValues.id。這個(gè)并不奇怪,struts支持這樣的語(yǔ)法來(lái)調(diào)用,它相當(dāng)于getPropertyValues().getId(),至于這里為什么是這樣的,那是實(shí)現(xiàn)細(xì)節(jié),你不必關(guān)心。將來(lái)你的實(shí)現(xiàn)也許是這樣的<bean:write name="item" property="id"/>
c)分頁(yè)form,這個(gè)form將會(huì)提交到pageAction中,同時(shí)還會(huì)把當(dāng)前頁(yè)一起帶過(guò)去。<%@ include file="/pagectrl.jsp"%>包含了分頁(yè)的頁(yè)腳,它的源代碼將在最后給出,它的實(shí)現(xiàn)很簡(jiǎn)單,實(shí)際上,你并不需要關(guān)心它的很多細(xì)節(jié),復(fù)用就行了。

pagectrl.jsp你把它粘到dreamweaver中,他就回原形畢露了。在使用過(guò)程中,不用對(duì)他進(jìn)行什么修改,你只需注意變量名要一致。
<jsp:useBean id="pageCtrl" class="funcreal.db.PageCtrl" scope="request" />
共檢索到<%=pageCtrl.getRowCount()%>條記錄 共<%=pageCtrl.getPageCount()%>頁(yè) 每頁(yè)<%=pageCtrl.getRowCountPerPage()%>行 <a href="#" onClick="gotoPage(1)">首頁(yè)</a> <a href="#" onClick="gotoPage(<%=pageCtrl.getCurPageNum()%> - 1)">上一頁(yè)</a> 第<%=pageCtrl.getCurPageNum()%>頁(yè) <a href="#" onClick="gotoPage(<%=pageCtrl.getCurPageNum()%> + 1)">下一頁(yè)</a> <a href="#" onClick="gotoPage(<%=pageCtrl.getPageCount()%>)">末頁(yè)</a> 轉(zhuǎn)到第
   <SELECT name="curPageNum" onchange="jump()">
     <% for(int i=1;i<=pageCtrl.getPageCount();i++){
         if (i== pageCtrl.getCurPageNum()){%>
             <OPTION selected value=<%=i%>><%=i%></OPTION>
         <%}else{%>
             <OPTION value=<%=i%>><%=i%></OPTION>
         <%}
  }%>
    </SELECT>頁(yè)
<script language="javascript" >
function jump(){
  document.PageForm.submit();
  return ;
}

function gotoPage(pageNumber){
  if(pageNumber < 1){
    pageNumber =1;
  }
  if(pageNumber > "<%=pageCtrl.getPageCount()%>"){
    pageNumber = "<%=pageCtrl.getPageCount()%>";
  }
  document.all.curPageNum.value = pageNumber;
  document.PageForm.submit();
  return ;
}

</script>

 

事實(shí)上,在page.jsp頁(yè)面中剝?nèi)truts標(biāo)簽,這個(gè)分頁(yè)實(shí)現(xiàn)同樣適用于非struts框架。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
實(shí)例介紹Struts+Spring+Hibernate開發(fā)
Mybatis分頁(yè)插件-pagehelper
編程語(yǔ)言用PageHelper插件實(shí)現(xiàn)分頁(yè)功能(mybatis+springMVC)
Struts分頁(yè)總結(jié)
CMS項(xiàng)目總結(jié):4、利用pager-taglib實(shí)現(xiàn)分頁(yè)處理(終極武器)
struts2 JSP 實(shí)現(xiàn)分頁(yè)顯示
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服