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

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

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

    騎士の圣殿

     

    [轉]通用分頁標簽【廢棄以前的兩個設計不合理的標簽】

    對于以前我寫的兩個分頁標簽,現在存在很多設計不合理和實現的不好的地方。如果有使用的,建議大家廢棄掉
    如果給大家帶來的誤導,表示抱歉。

    希望這個能給大家一些啟發,我信寫得這個標簽,在兩個項目中使用,還是蠻靈活和簡單的。

    代碼及其jar下載:http://www.tkk7.com/Files/qixin000/PagerTag_src.rar
    導入其中的兩個jar即可,源代碼沒有common部分,但是已經是所有的tag源碼了,僅作參考。

    使用方法:

    public class TopicPageData extends AbstractPagerData {
        private ITopicDao topicDao;

        private int categoryId = -1;
        private String keyword = null;
        private int auditId = EAuditStatus.All.getValue();

        public TopicPageData() {
            topicDao = ApplicationContextFactory.getContentFacotry().getTopicDao();
        }

        public IPagerData getPagerData(PagerBean pagerBean) {
            init(pagerBean);
            return new IPagerData() {

                public Object execute(PagerBean pagerBean) {
                    return topicDao.selectTopicByQuery(keyword, categoryId, EAuditStatus.valueOf(auditId), pagerBean.getFrom(), pagerBean.getPageSize());
                }

                public int getTotalCount(PagerBean pagerBean) {
                    return topicDao.selectTopicByQueryCount(keyword, categoryId, EAuditStatus.valueOf(auditId));
                }
            };
        }

        protected void init(PagerBean pagerBean) {
            if (this.getParameterValue(pagerBean, "categoryId") != null)
                categoryId = Integer.parseInt(this.getParameterValue(pagerBean, "categoryId").toString());
            if (this.getParameterValue(pagerBean, "keyword") != null)
                keyword = this.getParameterValue(pagerBean, "keyword").toString();
            if (this.getParameterValue(pagerBean, "auditId") != null)
                auditId = Integer.parseInt(this.getParameterValue(pagerBean, "auditId").toString());

        }
    }


    繼承抽象類AbstractPagerData,實現其中的函數就行了
    init初始化從頁面得到的參數
    getPagerData獲得分頁后的數據函數,它的返回值是一個接口,要用匿名內部類實現該接口
    IPagerData接口有兩個函數要實現,一個是getTotalCount,返回數據總數量,execute返回要顯示的一頁數據。
    然后頁面就能夠得到這些數據了

    頁面的使用方法:

    <%@ taglib prefix="pager" uri="http://www.yushunkeji.cn/taglib" %>
    <pager:pagerData id="topicListId" action="com.yushunkeji.cms.admin.topic.TopicPageData" pageSize="10"
                             dataId="topicList"/>

            <form id="topicListForm" action="cms_topicList.action" method="post">
                <table>
                    <tr>
                        <td>
                            關鍵字<input type="text" name="keyword" id="keyword" value="${param.keyword}"/>
                            分類<select name="categoryId" id="categoryId" onchange="topicListForm.submit();">
                            <option value="-1">請選擇...</option>
                            <c:forEach var="category" items="${categoryList}">
                                <option value="${category.categoryId}" ${param.categoryId==category.categoryId?'selected':''}>${category.categoryTitle}</option>
                            </c:forEach>
                        </select>
                            審核
                            <select name="auditId" id="auditId" onchange="topicListForm.submit();">
                                <option value="-1">所有</option>
                                <option value="0" ${param.auditId==0?"selected":""}>待審核</option>
                                <option value="1" ${param.auditId==1?"selected":""}>已審核</option>
                            </select>
                            <input type="submit" id="query" value="查詢"/>
                            <input type="submit" id="reset" value="重置"
                                   onclick="$('keyword').value='';$('categoryId').value=-1"/><br/>
                        </td>
                    </tr>
                </table>
                <table class="adminlist" cellspacing="1">
                    <thead>
                        <tr>
                            <th width="2%" class="title"><input type="checkbox" onclick="checkAll(this,$('topicListForm'),'selectedId')">
                            </th>
                            <th width="5%" class="title">編號</th>
                            <th class="title">標題</th>
                            <th width="8%" class="title">分類</th>
                            <th width="5%" class="title">作者</th>
                            <th width="4%" class="title">審核</th>
                            <th width="10%" class="title">操作</th>
                        </tr>
                    </thead>
                    <c:forEach var="topic" items="${topicList}">
                        <tr class="row0" onMouseOver="this.className='row1'" onMouseOut="this.className='row0'">
                            <td><input type="checkbox" id="chkTopic" name="selectedId"
                                       value="${topic.topicId}"/></td>
                            <td>${topic.topicId}</td>
                            <td>
                                    <%--<a href="cms_topicTemplate.action?topic.topicId=${topic.topicId}"--%>
                                    <%--target=_blank>${topic.title}</a>--%>
                                <c:choose>
                                    <c:when test="${topic.auditStatus==0}">
                                        <a href="${base}/cms/admin/cms_topicTemplate.action?topic.topicId=${topic.topicId}"
                                           target=_blank>${topic.title}</a>
                                    </c:when>
                                    <c:when test="${topic.auditStatus==1}">
                                        <a href="${base}${topic.htmlFullPath}"
                                           target=_blank>${topic.title}</a>
                                    </c:when>
                                </c:choose>
                            </td>
                            <td>${topic.category.categoryTitle}</td>
                            <td>${topic.author}</td>
                            <td>${topic.auditStatus==1?'通過':'待審'}</td>
                            <td>
                                <c:if test="${ex:isAllowOperation(user,topic.topicId)}">
                                    <a href="#"
                                       onclick="document.popup.show('${base}/cms/admin/cms_referenceTopic.action?topic.topicId=${topic.topicId}', 660, 600, null);">相關</a>
                                    <a href="#"
                                       onclick="window.location.href='cms_topicInfo.action?action=edit&topic.topicId=${topic.topicId}'">編輯</a>
                                    <a href="#" onclick="deleteTopic(${topic.topicId})">刪除</a>
                                </c:if>
                                &nbsp;
                            </td>
                        </tr>
                    </c:forEach>
                    <tfoot>
                        <td colspan="7">
                            <div class="pagination">
                                <pager:pager id="topicListId"/>
                            </div>
                        </td>
                    </tfoot>
                </table>

            </form>

    注意其中的的pager標簽的使用,有兩個一個是pager:pagerData,一個是pager:pager,兩個id要一直,dataid是頁面取數據的對象id,注意foreach循環topicList部分。

    posted on 2007-11-02 15:33 最後の騎士 閱讀(207) 評論(0)  編輯  收藏 所屬分類: java技術

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章分類

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久亚洲私人国产精品| 亚洲一区二区三区影院| 亚洲AV成人影视在线观看| 日本免费中文视频| 亚洲AV成人一区二区三区AV| av永久免费网站在线观看| 亚洲桃色AV无码| 免费av一区二区三区| 亚洲AV无码一区东京热久久| 日本免费电影一区二区| 亚洲国产成人精品久久| 日韩精品成人无码专区免费| 99久久人妻精品免费二区| 色拍自拍亚洲综合图区| 四虎成年永久免费网站 | 成年女人视频网站免费m| 亚洲精品一二三区| 免费国产在线观看| 东北美女野外bbwbbw免费 | 久久亚洲精品中文字幕三区| 久久免费线看线看| 亚洲制服丝袜精品久久| 狼友av永久网站免费观看| 一级毛片大全免费播放| 国产精品亚洲A∨天堂不卡| 3344免费播放观看视频| 亚洲hairy多毛pics大全| 久久精品亚洲乱码伦伦中文| 99免费在线观看视频| 亚洲国产精品99久久久久久| 精品国产亚洲男女在线线电影| 久久九九AV免费精品| 亚洲国产成人AV在线播放 | 女人毛片a级大学毛片免费| 美女18一级毛片免费看| 亚洲国产精品不卡在线电影| 永久久久免费浮力影院| 久久青草免费91线频观看站街| 亚洲熟女综合色一区二区三区| 中文国产成人精品久久亚洲精品AⅤ无码精品| 久久免费观看国产精品88av|