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

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

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

    開源俱樂部

    開源框架
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Struts+Hibernate實現分頁

    Posted on 2006-12-08 00:53 HandSoft 閱讀(1678) 評論(0)  編輯  收藏 所屬分類: 開源學習
    1.? 視圖顯示(select.jsp):首頁?/? 上一頁?/ 下一頁 / ?尾頁 ${requestScope.page} / ${requestScope.pagecount}? / 轉到
    2.? 頁面邏輯:
    ???? <%@ page language="java"%>
    <%@ taglib uri="?prefix="bean"%>
    <%@ taglib uri="
    ?prefix="html"%>
    <
    %@taglib uri="<%@taglib uri="
    ?
    <html>
    ?<head>
    ??<title>JSP for SelectActionForm form</title>
    ??<script type="javaScript">
    function submitForm()
    {
    ?if(document.form1.selectValue.value=="")
    ??????? {
    ?????????? alert("請輸入查找關鍵字");
    ?????????? document.form1.selectValue.focus();
    ?????????? return false;
    ??????? }else
    ??????? {
    ????????? return true;
    ??????? }
    }
    function toPage()
    {
    ? if(document.form1.pageText.value=="")
    ? {
    ??????????? alert("請輸入要前往的頁數");
    ?????????? document.form1.pageText.focus();
    ?????????? return false;
    ? }else
    ??????? {
    ????????? a=document.form1.pageText.value;
    ????????? if(a<=0||a>=${requestScope.pagecount})
    ???????????? a=${requestScope.page}
    ????????? document.form1.action = "selectAction.do?page="+a+"&selectValue=${requestScope.selectValue}";
    ????????? return true;
    ??????? }
    }
    </script>
    ?
    ?</head>
    ?<body>
    ??<center>
    ???<form name="form1" action="selectAction.do" method="POST">
    ????<table>
    ?????<tr>
    ??????<td>
    ???????please input:
    ??????</td>
    ??????<td>
    ???????<input type="text" name="selectValue"
    ????????value="${requestScope.selectValue}" />
    ??????</td>
    ??????<td>
    ???????<input type="submit" onclick="submitForm()" value="search" />
    ??????</td>
    ?????</tr>
    ????</table>
    ????<c:if test="${not empty sessionScope.selectList}">
    ?????<table border="1" cellpadding="3" cellspacing="3">
    ??????<tr>
    ???????<th>
    ????????ID
    ???????</th>
    ???????<th>
    ????????Name
    ???????</th>
    ???????<th>
    ????????DESC
    ???????</th>
    ???????<th>
    ????????Date
    ???????</th>
    ???????<th>
    ????????CreateBy
    ???????</th>
    ?
    ??????</tr>
    ??????<c:forEach var="cddate" items="${sessionScope.selectList}">
    ???????<tr>
    ????????<td>
    ?????????${cddate.pageCategoryId}
    ????????</td>
    ????????<td>
    ?????????${cddate.pageItemName}
    ????????</td>
    ????????<td>
    ?????????${cddate.pageItemDesc}
    ????????</td>
    ????????<td>
    ?????????${cddate.pageItemDate}
    ????????</td>
    ????????<td>
    ?????????${cddate.pageItemBy}
    ????????</td>
    ?
    ???????</tr>
    ??????</c:forEach>
    ?????</table>
    ?????<table>
    ??????<tr>
    ???????<td>
    ????????<a
    ?????????href="selectAction.do?action=frist&selectValue=${requestScope.selectValue}">MainPage</a>
    ???????</td>
    ???????<td>
    ????????<c:if test="${requestScope.page==1}">lastPage</c:if>
    ????????<c:if test="${requestScope.page!=1}">
    ?????????<a
    ??????????href="selectAction.do?action=back&page=${requestScope.page}&selectValue=${requestScope.selectValue}">lastPage</a>
    ????????</c:if>
    ???????</td>
    ???????<td>
    ????????<c:if test="${requestScope.page==requestScope.pagecount}">nextPage</c:if>
    ????????<c:if test="${requestScope.page!=requestScope.pagecount}">
    ?????????<a
    ??????????href="selectAction.do?action=next&page=${requestScope.page}&selectValue=${requestScope.selectValue}">nextPage</a>
    ????????</c:if>
    ???????</td>
    ???????<td>
    ????????<a
    ?????????href="selectAction.do?action=end&selectValue=${requestScope.selectValue}">endPage</a>
    ???????</td>
    ???????<td>
    ????????${requestScope.page} / ${requestScope.pagecount}
    ???????</td>
    ???????<td>
    ????????changeTo
    ????????<input type="text" size="2" name="pageText"
    ?????????onkeyup="value=value.replace(/[^\d]/g,'') "
    ?????????onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
    ?????????value="${requestScope.page}" />
    ????????<input type="submit" onclick="toPage()" value="GO" />
    ???????</td>
    ??????</tr>
    ?????</table>
    ????</c:if>
    ???</form>
    ??</center>
    ?</body>
    </html>
    ?

    3 . struts-config.xml文件
    ???? <global-forwards>
    ??????????? <forward name="select" path="/select.jsp" />
    ???? </global-forwards>
    ???? <form-beans>
    ??????????? <form-bean name="selectActionForm" type="SelectActionForm" />
    ??? </form-beans>
    ???? <action-mappings>
    ???????????? <action input="/select.jsp" name="selectActionForm" path="/selectAction" scope="request" type="SelectAction" validate="true" />
    ???? </action-mappings>
    4. SelectActionForm.java
    ??? import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionMapping;
    import javax.servlet.http.HttpServletRequest;
    ?
    public class SelectActionForm
    ??? extends ActionForm
    {
    ???? private String pageText;????????? //頁面編碼???
    ???? private String selectValue;?????? //查詢條件關鍵字
    ???? public String getPageText()???? //跳轉到的頁面
    ???? {
    ??????? ?return pageText;????????????
    ???? }
    ?
    ???? public void setPageText(String pageText)
    ???? {
    ???????? this.pageText = pageText;
    ???? }
    ?
    ???? public void setSelectValue(String selectValue)
    ???? {
    ??????? ?this.selectValue = selectValue;
    ???? }
    ?
    ???? public String getSelectValue()
    ???? {
    ???????? return selectValue;
    ???? }
    ?
    ???? public ActionErrors validate(ActionMapping actionMapping,
    ???????????????????????????????? HttpServletRequest httpServletRequest)
    ???? { /** @todo: finish this method, this is just the skeleton.*/
    ???????? return null;
    ???? }
    ?
    ???? public void reset(ActionMapping actionMapping,
    ????????????????????? HttpServletRequest servletRequest)
    ???? {
    ???? }
    }
    5. SelectAction.java
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionForm;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.Action;
    import com.wang.business.BusinessManage;
    import com.wang.module.*;
    import java.util.*;
    ?
    public class SelectAction
    ??? extends Action
    {
    ??? public ActionForward execute(ActionMapping mapping, ActionForm form,
    ???????????????????????????????? HttpServletRequest request,
    ???????????????????????????????? HttpServletResponse response)
    ??? {
    ??????? SelectActionForm selectForm = (SelectActionForm) form;
    ??????? BusinessManage bm = new BusinessManage();
    ??????? int page = 1;??? //初始化為第一頁
    ?
    ??????? if (selectForm.getSelectValue() != null)
    ??????? {
    ??????????? // if(request.getParameter("action")!=null)
    ??????????? if (request.getParameter("page") == null)
    ??????????? {
    ??????????????? page = 1;
    ??????????? }
    ??????????? else
    ??????????? {
    ?
    ??????????????? page = Integer.parseInt(request.getParameter("page"));
    ??????????? }
    ?
    ??????????? if (selectForm.getPageText() != null)
    ??????????? {
    ??????????????? page = Integer.parseInt(selectForm.getPageText());
    ??????????? }
    ??????????? if (request.getParameter("action") != null)
    ??????????? {
    ??????????????? if (request.getParameter("action").equals("frist")) ??????????????? {?? //跳轉到首頁
    ??????????????????? page = 1;
    ??????????????? }
    ??????????????? else if (request.getParameter("action").equals("end"))??????????????? //跳轉到尾頁
    ??????????????? {
    ??????????????????? page = bm.PAGECOUNT;
    ??????????????? }
    ??????????????? else if (request.getParameter("action").equals("back"))????????????? //跳轉到上一頁
    ??????????????? {
    ??????????????????? page -= 1;
    ??????????????? }
    ??????????????? else if (request.getParameter("action").equals("next"))??????????????? //跳轉到下一頁
    ??????????????? {
    ??????????????????? page += 1;
    ??????????????? }
    ??????????? }
    ?
    ??????????? List list = bm.selectCDBean(selectForm.getSelectValue(), page, 5);?? //頁面傳遞三個參數,將取得的值存放于一個list列表中
    ??????????? // ArrayList list1 = new ArrayList(list);
    ??????????? request.getSession().setAttribute("selectList", list);???? //將頁碼集合變量存放于字符串變量selectList中,存放于session范圍內
    ??????????? int pagecount = bm.PAGECOUNT;???????????????????????? //頁面總數
    ??????????? request.setAttribute("pagecount", pagecount);
    ??????????? request.getSession().removeAttribute("selectList");
    ??????????? request.getSession().setAttribute("selectList", list);
    ??????????? request.setAttribute("selectValue", selectForm.getSelectValue());
    ??????????? request.setAttribute("page", page);
    ??????????? request.setAttribute("pagecount", pagecount);
    ?
    ??????? }
    ??????? else
    ??????? {
    ??????????? request.getSession().removeAttribute("selectList");
    ??????? }
    ??????? bm.close();
    ??????? return mapping.findForward("select");
    ??? }
    }

    6. 業務邏輯
    BusinessManage.java
    package com.wang.business;
    ?
    import org.hibernate.*;
    import org.hibernate.cfg.*;
    import com.wang.module.*;
    import java.util.*;
    ?
    public class BusinessManage
    {
    ??? private SessionFactory sf = null;
    ??? private Session s = null;
    ??? private Transaction ts = null;
    ??? private Query query = null;
    ??? public static int PAGECOUNT;
    ??? public BusinessManage()
    ??? {
    ??????? sf = new Configuration().configure().buildSessionFactory();
    ??????? s = sf.openSession();
    ??????? ts = s.beginTransaction();
    ??? }
    ?
    ??? public void openSession()
    ??? {
    ??????? s = sf.openSession();
    ??? }
    ?
    ???
    ??? public List selectCDBean(String value, int page, int count)
    ??? {
    ??????? List list = null;
    ??????? int pagelast = 0;
    ??????? try
    ??????? {
    ??????????? query = s.createQuery("from ViewPage cd where cd.pageItemName like '%"
    ?????+ value + "%'");
    ?
    ??????????? if (query.list().size() / count?== 0)?? //頁數為偶數
    ??????????? {
    ??????????????? PAGECOUNT = query.list().size() / count;? //頁面總數
    ??????????? }
    ??????????? else
    ??????????? {
    ??????????????? PAGECOUNT = query.list().size() / count + 1;?? //頁數為基數
    ??????????????? pagelast = query.list().size() / count;
    ??????????? }
    ??????????? int begin = page * count - count;?? //count為每頁顯示的紀錄數,
    ??????????? int end = page * count;
    ??????????? if (page == PAGECOUNT)
    ??????????? {
    ??????????????? end = query.list().size();
    ??????????? }
    ??????????? list = query.list().subList(begin, end);
    ??????? }
    ??????? catch (Exception ex)
    ??????? {
    ??????????? list = null;
    ??????????? ex.printStackTrace();
    ??????? }
    ??????? return list;
    ??? }
    ???
    ??? public void close()
    ??? {
    ??????? s.close();
    ??? }
    }


    ?
    ?
    主站蜘蛛池模板: 女人裸身j部免费视频无遮挡| 亚洲国产综合精品| 欧洲亚洲综合一区二区三区| av无码久久久久不卡免费网站 | 国产成人啪精品视频免费网| 91在线亚洲综合在线| 一二三四免费观看在线电影| 亚洲不卡中文字幕| 久久久久久精品成人免费图片| 亚洲精品永久www忘忧草| 曰批全过程免费视频播放网站| 亚洲精彩视频在线观看| 亚洲国产精品免费观看| 亚洲国产成人精品激情| 午夜dj免费在线观看| 国产成人高清亚洲一区91 | 亚洲高清最新av网站| 中文字幕高清免费不卡视频| 国产亚洲AV夜间福利香蕉149 | 国产免费变态视频网址网站| 特级av毛片免费观看| 亚洲人成网77777色在线播放| 免费的全黄一级录像带| 亚洲网红精品大秀在线观看| 波多野结衣在线免费视频| 亚洲精品无码你懂的| 夜色阁亚洲一区二区三区| 99在线免费视频| 亚洲视频在线一区| 成人无码区免费视频观看 | 国产激情免费视频在线观看 | 免费国产精品视频| 成人无码精品1区2区3区免费看| 婷婷精品国产亚洲AV麻豆不片 | 亚洲一线产区二线产区精华| 国产成人免费全部网站| 中国在线观看免费的www| 亚洲欧洲自拍拍偷午夜色| 免费国产a国产片高清| 97在线免费视频| 亚洲熟女综合一区二区三区|