<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    love fish大鵬一曰同風起,扶搖直上九萬里

    常用鏈接

    統計

    積分與排名

    friends

    link

    最新評論

    Spring+Hibernate+Struts技術的一個分頁程序(轉)

    我用的是Spring+Hibernate+Struts框架:

    這是我的DAO的核心代碼
    import org.springframework.orm.hibernate.support.HibernateDaoSupport;
    // 用Spring支持的Hibernate方法,使Hibernate對數據庫的操作繼續瘦身
    public List getOfficeBySearchCriteria(final String hsql,final int pageNo,final int page_size) throws DataAccessException // hsql 是如:"select office1 from Office as office1 order by office1.officename";pageNo 是第幾頁;page_size是每頁記錄數
    {
    String sql;
    int total_count=0;
    List offices=new ArrayList();
    //offices= getHibernateTemplate().find("from Office office1 where office1.officename like ?", "%"+officeName+"%");
    offices= getHibernateTemplate().find(hsql); //為了得到總記錄數
    total_count=offices.size();
    crossPageInfo= crossPageBean.getCrossPageInfo(total_count,pageNo,page_size);

    sql=hsql+ " limit " + (pageNo-1)*page_size + "," +page_size;
    offices= getHibernateTemplate().find(sql); //為了得到頁記錄信息 System.out.println("The list offices size: "+offices.size());
    return offices;
    }

    //其中crossPageBean.getCrossPageInfo只是得到頁面的如:總頁數、供多少頁的信息等一般的翻頁信息;

    我在Action中是這樣調用的
    public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws Exception
    {
    CrossPageInfo crossPageInfo=new CrossPageInfo();
    String hsql="select office1 from Office office1 order by office1.officename";
    String pageNo=request.getParameter("pageNo");
    int pageNoi=1;
    if(pageNo==null)
    pageNo="1";
    pageNoi=Integer.parseInt(pageNo);
    int pageSize=5;
    //List offices=getOfficeService().getAllOffice();
    List offices=getOfficeService().getOfficeBySearchCriteria(hsql,pageNoi,pageSize);
    crossPageInfo=getOfficeService().getCrossPageInfo();
    System.out.println("The CorssPgaeInfo :"+crossPageInfo.getPageNo());
    System.out.println(crossPageInfo.getPageSize());

    request.setAttribute("offices",offices);
    request.setAttribute("pageInfo",crossPageInfo);
    return mapping.findForward("success");
    //throw new UnsupportedOperationException("Generated method 'execute(...)' not implemented.");
    }

    //其中getOfficeService()只是提供接口服務的方法。


    我的表現頁面是這樣的

    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
    <%@ page import="com.uplus.util.CrossPageInfo"%>

    <html>
    <head>
    <title>
    mySearchCList
    </title>

    </head>
    <body bgcolor="#ffffff">
    <form name="form1" action="officesearch.do" method="post">
    <table >
    <tr>
    <td>OfficeName:<input name="officeName" type="text"></td><td><input type="submit" name="sb" value="Search"></td>
    </tr>
    </table>
    </form>
    <br><a href="/jsp/office/officeadd.jsp">Add</a>

    <table bgcolor="#DBE9F1" align="center" class="InputFrameMain" style="MARGIN: 0px" cellSpacing="1" cellPadding="0" BGALIGN="CENTER" BGVALIGn="middle" width="100%" VALIGN="middle" >
    <tr><td align="center">OfficeName</td><td align="center">OfficePhone</td></tr>
    <logic:iterate id="office" name="offices" >
    <tr bgcolor="#ffffff">
    <td align="center"><a href="officesee.do?id=<bean:write name='office' property='id'/>" target="_blank"><bean:write name="office" property="officename"/></a></td>
    <td align="center"><bean:write name="office" property="officephone"/></td>
    <td align="center"><a href="officeedit.do?id=<bean:write name='office' property='id'/>" >Update </a>
    <td align="center"><a href="officedel.do?id=<bean:write name='office' property='id'/>" onclick="return confirm('Would You Detele It? ')" >Delete </a>
    </tr>
    </logic:iterate>
    </table>
    <%CrossPageInfo cpInfo=(CrossPageInfo)request.getAttribute("pageInfo");%>

    <table width="100%" align="center" class="InputFrameMain" style="MARGIN: 0px" cellPadding="0" cellSpacing="0">
    <tr ><form action="officelist.do" method="post" onsubmit='return checkform2(this)'>
    <td width=70%>Total <font color="blue"><%=cpInfo.getTotalRow()%></font>&items found,Total&<font color="blue"><%=cpInfo.getTotalPage()%></font> Pages,Current No <font color="blue"><%=cpInfo.getPageNo()%> </font>Page.
    Go to <input name="pageNo" type="text" size="5" class="input">Page
    <input name="sb2" type="submit" class="button" value="Go">
    </td></form>
    <td width=30% align='left'>
    <%if(cpInfo.getPageNo()>1){%>
    &<a href="officelist.do?pageNo=1">
    <%}%>First</a>
    <%if(cpInfo.getPageNo()>1){ %>
    &<a href="officelist.do?pageNo=<%=cpInfo.getPageNo()-1%>">
    <%}%>Previous</a>
    <%if(cpInfo.getPageNo()<cpInfo.getTotalPage()){ %>
    &<a href="officelist.do?pageNo=<%=cpInfo.getPageNo()+1%>">
    <%}%>Next</a>
    <%if(cpInfo.getTotalPage()>cpInfo.getPageNo()){%>
    &<a href="officelist.do?pageNo=<%=cpInfo.getTotalPage()%>">
    <%}%>Last</a></td>
    </tr>

    </table>
    </body>
    </html>


    大家可以看一下我的處理過程,其中在DAO里為了得到總計錄數執行了一次次數據表查詢HSQL;得到數據又執行了一次HSQL,我覺得這樣好像有些不太好,大家覺得怎樣?大家提出寶貴的意見吧!

    posted on 2007-03-30 09:43 liaojiyong 閱讀(555) 評論(0)  編輯  收藏 所屬分類: Spring

    主站蜘蛛池模板: 最近2019中文字幕免费大全5 | 亚洲精品夜夜夜妓女网| 噜噜噜亚洲色成人网站| 日韩视频在线免费观看| 亚洲欧美aⅴ在线资源| 国产一区二区三区无码免费| 国产亚洲精品美女久久久久| 亚洲国产精品一区二区三区久久| 日韩在线视频线视频免费网站| 免费少妇a级毛片| 国产免费人成视频尤勿视频| 亚洲精品国产精品| 国产在线观看免费视频播放器| 亚洲bt加勒比一区二区| 99免费视频观看| 亚洲人成网7777777国产| 黄网站色视频免费在线观看的a站最新| 亚洲AV无码一区东京热久久| 黄+色+性+人免费| 亚洲愉拍99热成人精品热久久| 久久精品免费观看| 亚洲一区免费在线观看| 四虎永久成人免费影院域名| free哆拍拍免费永久视频| 亚洲AV午夜福利精品一区二区 | 精品四虎免费观看国产高清午夜| 久久久久无码精品亚洲日韩| 日本一区二区三区免费高清| 色网站在线免费观看| 国产成人亚洲精品青草天美| 免费国产成人高清在线观看网站| 国产午夜亚洲精品不卡免下载| 亚洲人成伊人成综合网久久久| 1000部拍拍拍18勿入免费视频下载| 亚洲人成色在线观看| 亚洲天堂中文字幕在线| 4hu四虎最新免费地址| 免费人成大片在线观看播放电影| 亚洲国产成人久久精品动漫| 全免费a级毛片免费看无码| 77777午夜亚洲|