<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 閱讀(567) 評論(0)  編輯  收藏 所屬分類: Spring

    主站蜘蛛池模板: 黄页网站免费观看| 亚洲二区在线视频| 日韩中文字幕免费| 最近2019中文字幕免费直播| 日韩大片在线永久免费观看网站| 亚洲免费闲人蜜桃| 亚洲综合视频在线| 亚洲午夜久久久影院| mm1313亚洲国产精品美女| 午夜私人影院免费体验区| 无人在线直播免费观看| 一级毛片免费观看不卡视频 | 2021国产精品成人免费视频| 中文字幕无码一区二区免费| 曰批全过程免费视频免费看 | 国内免费高清在线观看| 国产成人精品免费视频网页大全| 国精产品一区一区三区免费视频| 丰满少妇作爱视频免费观看| 综合一区自拍亚洲综合图区| 亚洲欧美日韩中文字幕在线一区| 亚洲熟妇av一区| 亚洲福利一区二区| 亚洲黄网站wwwwww| 亚洲网站视频在线观看| 亚洲av永久无码精品漫画| 亚洲综合色婷婷七月丁香| 国产L精品国产亚洲区久久| 亚洲国产精品视频| 四虎影在线永久免费四虎地址8848aa | 日韩精品成人无码专区免费| 4455永久在线观免费看| 亚洲视频免费在线播放| 久草免费在线观看视频| 91视频国产免费| 嫩草影院免费观看| 国产又大又长又粗又硬的免费视频| 日本人护士免费xxxx视频| 国产精品免费视频网站| 亚洲福利精品一区二区三区| 亚洲成人一区二区|