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

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

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

    大明白的天地

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      5 隨筆 :: 3 文章 :: 58 評論 :: 0 Trackbacks
    displaytagpro.jpg
    由于displayTag只處理數(shù)據(jù)的顯示,傳遞給他多少數(shù)據(jù),它會根據(jù)數(shù)據(jù)的記錄數(shù)及其
    每頁顯示多少計算出需要的頁數(shù),
    但是在處理大數(shù)據(jù)量集合的時候,會遇到問題,就是將所有的數(shù)據(jù)傳遞給displayTag表格顯示標(biāo)簽
    變得不現(xiàn)實也沒有必要,如何既能夠用到dispalyTag強大的顯示功能,用能夠很好的處理大數(shù)據(jù)量的
    顯示和分頁功能呢?
    基于以下幾點
    1 盡量不要更改原displayTag標(biāo)簽的源代碼,該部分由原作者更改更為合適
    2 盡量少的限制原有標(biāo)簽的功能
    3 即插即用,非強迫性的.
    4 和數(shù)據(jù)庫等數(shù)據(jù)源分離,做到無依賴
    如何解決display?
    既然不要更改原來的dispalyTag源碼,那么就自己做一個標(biāo)簽了,主要就是解決大數(shù)據(jù)量顯示和分頁功能
    那就自己做一個分頁功能的標(biāo)簽,數(shù)據(jù)集合由用戶自己定義,標(biāo)簽只提供一些頁面的傳遞信息和
    一些用戶用來部分提取數(shù)據(jù)的基本數(shù)據(jù)

    本人又做了一個DisplayTagPro標(biāo)簽用于解決這樣的問題,用法很簡單,又可以用DisplayTag的強大的顯示功能
    完全解決了以前我做的那個標(biāo)簽的局限性

    上面那個圖片顯示的信息看到藍(lán)框中的信息是DispalyTag顯示的,下面的分頁功能是DisplayTagPro顯示的.
    同時本標(biāo)簽針對經(jīng)常要根據(jù)顯示的信息進行查詢,篩選等需求,增加了用戶自定義信息的功能,用戶可以在
    PageInfo類中得到這些信息進行對集合的進一步處理,達(dá)到自定義查詢等其他要求.

    》》》源代碼:
    http://www.tkk7.com/Files/qixin000/displaytagpro.rar
    該部分代碼已經(jīng)和displayTag沒有關(guān)系了,當(dāng)然如果和displaytag結(jié)合也沒有問題
    我發(fā)現(xiàn)displaytag有個問題,就是在處理自由布局時,在翻到第二頁是有問題,不知大家遇到過沒有
    所以最終我拋棄了displaytag標(biāo)簽,而用jstl及其el來做顯示,很好用


    用法:
    可以在Demo中看到,可以一般的標(biāo)簽用法一樣:
    修改web.xml ,工程中引入displaytagpro.jar
    頁面上的用法:
    <%@ taglib prefix="qixin" uri="qixin000" %>
    <%
        request.setAttribute("w_testId_name", "qixin");
        request.setAttribute("w_testId_age", 10);
    %>
    <qixin:displaywrap uid="testId" name="test" pagesize="5" userclass="com.test.displaytag.DisplayTagTestHandle" />
    處理類的定義:
    該類用戶可以自定義,只需繼承抽象類AbstractHandler,實現(xiàn)Object getDisplayCollection(PageInfo pageInfo)方法即可,用戶可以從pageInfo中得到需要的信息,有很多

    注意:本標(biāo)簽部分限制了DisplayTag標(biāo)簽的功能
    1 一個頁面不能夠有兩個DisplayTag標(biāo)簽了,遺憾,但是我不經(jīng)常這樣做
       解決辦法:可以通過frame來解決
    2 DisplayTagPro標(biāo)簽的uid,name要和DisplayTag的uid,id,name相同,pagesize屬性也要相同
       uid相同是為了計算d_\d+_[o|s|p]中間的數(shù)字用的
       name相同,是為了形成的集合便于DisplayTag顯示
       pagesize相同是為了不讓DisplayTag標(biāo)簽顯示自己的分頁功能
    3 用戶自定義的信息必須是d_myid_w[0-9],例如(d_myid_w0,d_myid_w1)
       定義之后可以在自定義的類中通過pageInfo.getAddinInfo()進行提取,做進一步的處理.
       可以通過這個功能達(dá)到更復(fù)雜的處理.
    4 userclass為用戶自定一個數(shù)據(jù)處理類,在這個完成數(shù)據(jù)的最終提取,在這里用戶可從pageInfo中
       得到很多關(guān)于頁面上的信息,及其分頁信息
    其他的限制倒不是很多!

    由于這個標(biāo)簽比較簡單,所以我就沒有寫更多的幫助文檔,很多可以根據(jù)命名和注釋即可了解!

    注意:
    本標(biāo)簽只支持jdk1.5以上,我用了foreach
    jsp版本我倒是不知道,但是我在jboss4.2,tomcat5上測試通過,版本沒看!
    posted on 2005-07-26 13:45 大明白 閱讀(8216) 評論(48)  編輯  收藏

    評論

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-07-26 15:52 emu
    原來也想過做相同的東西,但是關(guān)鍵問題沒有想通。其實displaytag的開發(fā)者倒也未必沒想過這個問題,但是可能要找一個漂亮簡單通用的解決方案真的不大容易吧。

    如果一次不把全部數(shù)據(jù)交給displaytag去分頁,那么在翻頁的時候就要重新進行查詢,那么displaytag就不得不和數(shù)據(jù)訪問部分綁定,這樣標(biāo)簽就沒有辦法通用化了。

    我很有興趣的是大明白的displaytagpro怎么解決翻頁的時候重新查詢呢?

    就是demo里面的displaytagpro.jar文件對嗎?怎么不提供原碼?  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-07-26 16:42 大明白
    實際上要解決這樣的問題,大家應(yīng)該想法都差不多
    為什么DisplayTag沒有實現(xiàn)很好的分頁,并不是他不能夠?qū)崿F(xiàn),因為這和他做的顯示工作無關(guān),他只是負(fù)責(zé)把需要的數(shù)據(jù)顯示出來,而且做得很好。
    開發(fā)DisplayTag標(biāo)簽的人,應(yīng)該想的是讓我們應(yīng)用他很好的處理顯示,靈活的定義顯示的功能,而且這點他做到了,而且很好用

    處理大數(shù)據(jù)量問題是,實際上就是如何提取部分信息,給DispalyTag顯示,但是又得讓它正確處理分頁,這點DisplayTag做不到,因為這也不是他的職責(zé)

    我的基本思路是這樣的:
    因為DisplayTag計算分頁也是根據(jù)實際的記錄數(shù)計算的,而我們傳遞的是部分?jǐn)?shù)據(jù),所以DT計算不正確,必須給他看到好像是全部數(shù)據(jù),他才能分頁得很好,如果他做不到,我們就在傳遞部分?jǐn)?shù)據(jù)的同時,在傳遞一個總數(shù)不就可以正確計算分頁了.
    那就給他一個虛的總數(shù)唄;
    我們自己用這個虛的總數(shù)來計算該分多少頁,我們自己做這個分頁功能
    而讓DisplayTag來顯示不就行了嗎,每次都經(jīng)過我們自定一個處理類來完成信息的提取數(shù)據(jù)給它顯示。

    所以這里沒有什么技術(shù)難度,只是一個思路的問題,開始我倒是想改DisplayTag的源代碼了,但是他復(fù)雜,怕給改壞了,而且不易于升級版本,所以就作了一個標(biāo)簽,來由用戶產(chǎn)生數(shù)據(jù)給DT顯示,而分頁有我的DTP來顯示;現(xiàn)在得到了很好的應(yīng)用!

    關(guān)鍵這里的一個我認(rèn)為好的擴展是:可以自定義一些信息來處理篩選信息用的AddinInfo,達(dá)到了復(fù)雜查詢等的目的。  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-07-29 16:57 lyjjq
    首先肯定,大明白 的想法慢好的,也付出了一些努力,但你的東西放在我的機器上怎么報錯呢?javax.servlet.ServletException: com/qixin/taglib/displaytagpro/DisplayWrapTag (Unsupported major.minor version 49.0)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
    能幫我解釋一下嗎,順便說一下你的控件能不能繼續(xù)改造成這鐘模式,可能有一定工作量,輸入四個參數(shù):Collection,pagesize,rowsize,style,解釋一下:Collection是要顯示的結(jié)果集,pageSize是頁面顯示的數(shù)量,rowsize是每行顯示的列數(shù),style是顯示的風(fēng)格!
    謝謝了,這段時間忙,有控多交流  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-07-29 17:14 大明白
    改起來倒是很簡單,因為這個標(biāo)簽本來就沒多東西,代碼也很簡單
    但是請注意:
    這個標(biāo)簽是在jdk1.5上開發(fā)的,檢查一下你的是不是1.5
    運行環(huán)境jboss,tomcat5;其他的我沒有測試過,應(yīng)該不會出問題,這個標(biāo)簽沒有用到什么特別的技術(shù)

    另外你提的修改方案都已經(jīng)有了,實際上是重復(fù)的
    Collection要顯示的結(jié)果及實際上就是這里的name,他把生成結(jié)果集命名為你定義的name,可以在你定義的scope范圍內(nèi)找到這個集合
    pagesize已經(jīng)有了,這個不說
    rowsize,我的這個標(biāo)簽中形成的結(jié)果集的對象的屬性個數(shù);
    style:我是充分利用了DisplayTag的顯示功能,所以我自己的標(biāo)簽只有一個class,是固定的叫
    span.pagelinkspro {
    background-color: #eee;
    border: 1px dotted #999;
    padding: 2px 4px 2px 4px;
    width: 79%;
    display:block;
    border-top: none;
    margin-bottom: -5px;
    }
    其他的全部是DispalyTag的,他怎么定義就怎么用,所以也沒有必要取其一個style,因為就一個pagelinkspro,固定的,就是定義下面分頁欄風(fēng)格的

    不好意思,給你的全否了  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-01 09:50 yingyi
    我要從數(shù)據(jù)庫里邊調(diào)數(shù)據(jù)怎么用呀!
      回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-01 11:59 大明白
    這里有個例子你可以看一看:
    http://www.tkk7.com/Files/qixin000/1.1.rar
    里有四個文件,但是沒有給出完整的例子,如何使用看這里
    http://www.tkk7.com/qixin000/articles/8474.html
    其中一個就是演示如何從數(shù)據(jù)庫中提取部分?jǐn)?shù)據(jù),主義這個只是演示,至于你在哪里進行數(shù)據(jù)庫連接,那里傳遞數(shù)據(jù),根據(jù)你的需要定:
    CustomerHandler.java
    這個給出了一個如何從數(shù)據(jù)庫中提取部分?jǐn)?shù)據(jù)的例子.返回給頁面

    如果你想快速開發(fā)而不太在乎結(jié)構(gòu)是否合理,可以采用qixin000tag我寫的一個標(biāo)簽,就是把數(shù)據(jù)訪問也放到了標(biāo)簽里,所以各不用你去管如何提取數(shù)據(jù),只需配置好配置文件即可.
      回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-01 12:06 大明白
    出于演示目的,切勿模仿,否則讓人給批了,后果自負(fù)! : )

    package com.qixin.taglib.displaytagpro.test;

    import com.qixin.taglib.displaytagpro.PageInfo;
    import com.qixin.taglib.displaytagpro.handle.AbstractHandler;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;

    /**
    * Created by qixin.
    * User: qixin
    * Date: 2005-7-25
    * Time: 18:54:17
    */
    public class CustomerHandler extends AbstractHandler {
    protected Object getDisplayCollection(PageInfo pageInfo) {
    // TestList list = new TestList(143, false);
    // pageInfo.setMaxCount(143);
    // List subList = list.subList(pageInfo.getStart() - 1, pageInfo.getEnd() > list.size() ? list.size() : pageInfo.getEnd());
    // return subList;

    List list = new ArrayList();
    try {
    /**
    * 數(shù)據(jù)庫部分可以進一步封裝,可以不在這里寫,這里只是演示如何提取部分?jǐn)?shù)據(jù)
    */
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    String url = "jdbc:microsoft:sqlserver://192.168.0.177:1433;DatabaseName=paper";
    Connection conn = DriverManager.getConnection(url, "sa", "");
    Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    ResultSet rs = st.executeQuery("select ID,編號,存貨人 from 入庫單");
    rs.last();
    int maxCount = rs.getRow();
    pageInfo.setMaxCount(maxCount);
    rs.beforeFirst();
    int begin = pageInfo.getStart() - 1;
    if (begin > 1) rs.absolute(begin);
    int i = 0;
    while (rs.next() && i < pageInfo.getPageSize()) {
    CustomerBean bean = new CustomerBean();
    bean.setId(rs.getString("id"));
    bean.setNo(rs.getString("編號"));
    bean.setPerson(rs.getString("存貨人"));
    list.add(bean);
    i++;
    }
    return list;
    }
    catch (Exception e) {
    e.printStackTrace();
    }
    return list;
    }
    }


    其中:
    這里有很重要的兩句:
    1,就是根據(jù)
    pageInf.getStart(), pageInfo.getEnd()獲得要提取的數(shù)據(jù)范圍

    2,就是要設(shè)置
    pageInfo.setMaxCount(int); 設(shè)置要分頁的總記錄數(shù),這個可以是一個虛擬的,你想設(shè)置多少都行,但是最好和你的集合的記錄數(shù)相同,否則,分頁到最后,如果你的處理類沒有處理好數(shù)據(jù)的提取,會出錯的!

    還有如果泥提取數(shù)據(jù)不僅僅是根據(jù)這個來的,還有你頁面定制的自定義信息,那么可以通過pageInfo.getAddinInfo()來獲得一個Map來供自己進一步處理數(shù)據(jù)之用,可以達(dá)到更好的效果.  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-01 15:02 lyjjq
    看了你的回復(fù)我很高興,很高興的告訴你,禮拜六開始學(xué)習(xí)自定義標(biāo)簽,我把你的自定標(biāo)簽修正了一下,同時把displaytag重構(gòu)了!看看我的顯示結(jié)果:
    我怎么上傳文件或者圖片呢?
    實際上我的目的是在每一個可以顯示任意多的元素!
    這個是我的測試代碼
    <%@ page contentType="text/html;charset=UTF-8" language="java"%>
    <%@ taglib prefix="display" uri="displaytag"%>
    <%@ taglib prefix="linktone" uri="linktonetag"%>
    <%@ page
    import="com.lee.orderdish.util.ParamUtils,org.displaytag.sample.*,java.util.*,org.displaytag.tags.TableTag,com.linktone.taglib.displaytagpage.PageInfo"%>
    <html>
    <head>
    <title>display tag 分頁測試</title>
    <link rel="stylesheet" href="css/screen.css" type="text/css" />
    </head>

    <body>
    <%int currentPage = ParamUtils.getIntParameter(request,
    "currentPage", 1);
    TestList list = new TestList(100, false);
    PageInfo pageInfo = new PageInfo();
    pageInfo.setMaxCount(100);
    pageInfo.setPageSize(6);
    pageInfo.setCurrentPage(currentPage);
    int startindex = pageInfo.getStart() - 1;
    int endindex = pageInfo.getEnd() <= list.size() ? pageInfo.getEnd()
    : list.size();
    out.println("startIndex:" + startindex);
    out.println("endIndex:" + endindex);
    java.util.List subList = list.subList(startindex, endindex);

    request.setAttribute("test1", subList);

    %>

    <linktone:displaywrap uid="aas" name="test" pagesize="6" maxsize="24"
    requestURI="index.jsp" append="age=psg&type=1">
    <display:table uid="aa" name="test1" align="center" pagesize="6" rowsize="4"
    requestURI="jiang.do" class="ITS">
    <table>
    <tr>
    <td><a href="javascript:">jiang{id}</a></td>
    </tr>
    <tr>
    <td>{name}</td>
    </tr>

    </table>
    </display:table>
    </linktone:displaywrap>
    </body>
    </html>

    我在displaytag標(biāo)簽加了rowsize,display標(biāo)簽的body作為一個元素的內(nèi)容顯示,里面有{attribute}代表了某個屬性值!這樣顯示的東西完全符合我的要求了!你的代碼我看過了,寫的不錯!在導(dǎo)航條的地方前面最好加個<div align="center">讓你的分頁居中吧,這樣好看點!還既然有了你的導(dǎo)航條,就要把dispaly的導(dǎo)航條去掉,這個我都作到了!再次感謝你激發(fā)了我的創(chuàng)造激情!  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-01 15:23 lyjjq
    這里提交東西不是太方便:我把上面內(nèi)容放在我的個人空間里了:
    http://spaces.msn.com/members/jiangjianqiang/
    到那里可以看到圖形顯示!  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-01 16:21 keith
    希望樓主能提供DispalyTagPro的src出來。期待  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-01 17:03 劍客
    是啊,讓大家一起想辦法更好地解決這個問題。
    displaytag這么慷慨的就開源了,樓主發(fā)揚精神啊。
    我只想看看你的源碼,謝謝  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-02 09:57 大明白
    自覺的還有不好的地方所以一直沒有拿出來,如果大家需要,現(xiàn)在奉上:
    http://www.tkk7.com/Files/qixin000/displaytagpro.rar  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-02 10:23 大明白
    可能是我理解錯誤,現(xiàn)在說幾點你的用法,如果理解錯誤,見諒:
    //dispalytagpro==dtp
    //displaytag == dt
    你把dt的屬性requestURI放到了dtp上,那dt的排序等功能好象就不好使了,你就的自己處理了,傳遞的信息也會錯誤,或者根本沒有傳遞過來,或者傳遞過來了,會丟失一些QueryString信息,所以不推薦改這里,所以我坐的那個標(biāo)簽是比較充分考慮利用dt的所有功能的前提下來做的這個標(biāo)簽,如果你修改了dt,那以后,dt作者增加了功能,你不由得改dt,多麻煩,而且dt有很多隱含的功能,等待去發(fā)掘,dtp只是提供數(shù)據(jù)而已,所以盡量在挖掘dt的功能基礎(chǔ)上來改善dtp功能,我覺得更好
    還有就是append屬性,這個可能你沒有發(fā)現(xiàn),我里面有一個提取QueryString除了d -\d+-[s|o|p]字符串以外的其他傳遞信息給PageInfo.AddinInfo屬性,你從哪里可以獲得到你設(shè)置的 request.parameter,attribute值,所以這里有點多余,不信你試一試在request里設(shè)置一個attribute,然后翻一下頁你就會看到 ,查詢字符串多了一項,而且你也可以從后臺pageInfo.getAddinInfo()中或得到這些信息

    還有就是一個居中的問題,你可以調(diào)整樣式單,而不用該代碼,我覺得居中有個問題就是,當(dāng)你點那些直接跳轉(zhuǎn)的1,23,4,5時,會出現(xiàn)兩面同時動的情況,因為他們有時是一位數(shù)字,有時是兩位數(shù)字,會出現(xiàn)同時左右伸縮問題,很難受,左對齊有個好處就是,一側(cè)縮放! 所以說各司其責(zé),dt顯示,dtp提供數(shù)據(jù),如果你想在一行顯示任意多的數(shù)據(jù),你可以細(xì)細(xì)的查一查dt的功能里有沒有,我想很多功能你么沒有發(fā)現(xiàn),dt很強的,比如那個自由格式的顯示,見我的另一篇隨筆,那就是我不知道dt有沒有這個能力的前提下,仔細(xì)想的,結(jié)果實現(xiàn)了,所以不要重復(fù)做工作。 現(xiàn)在dt做的工作,已經(jīng)實現(xiàn)了大部分.net里datagrid的功能,很不錯, 所以在java里顯示數(shù)據(jù),我現(xiàn)在不愁了,完全用這兩個標(biāo)簽實現(xiàn)一個現(xiàn)在一個典型論壇的顯示,很強,但是我做一個樣例給大家看看 不好意思,又給提意見了, lyjjq  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-02 10:29 keith
    DispalyTag這項目好像停了吧,怎么到現(xiàn)在一點動靜也沒有了。懷疑!!
    如果真停了,希望有人能接手繼續(xù)開發(fā)維護,但不希望用來謀利  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-02 10:36 大明白
    to lyjjq
    如果你想把所有數(shù)據(jù)顯示在一行或者你想靈活控制
    你的dt用法錯誤
    你應(yīng)該dispaly:table中加一個display:column軟后在其中提取數(shù)據(jù)循環(huán),而不是像你這樣在display:table加了一個<table>
    上傳圖片及其現(xiàn)實的問題都是dt的事,都可以實現(xiàn),自己發(fā)現(xiàn)吧!

    去掉displaytag的分頁欄,請修改樣式單將其變?yōu)閔idden即可  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-02 11:40 lyjjq
    這是我用dt 顯示數(shù)據(jù)的例子, 如果在<display:column 中在加數(shù)據(jù)循環(huán)可能會讓程序復(fù)雜!用戶不易使用,!也也許能實現(xiàn)一行多數(shù)據(jù),但,dt給的例子中好像做不到!我認(rèn)為<display:table>xxxx</display:table> XXX部分的操作都是對當(dāng)前數(shù)據(jù)行的操作,而不能在XXX部分對多行操作,所以被迫無奈我修改了dt的輸出機制!,以便符合我的輸出要球,你的displaytag的理解比我要深,能否提供怎么寫?
    <display:table name="test" class="its" width="500" id="currentRowObject">
    <display:column title="選中" align="center" >
    <html:multibox name="GroupForm" property="ids" onclick="CCA(document.GroupForm);" value="<bean:write name ="currentRowObject" property="id"/>"></html:multibox>
    </display:column>
    <display:column property="id" align="center" title="編號" />
    <display:column property="groupName" align="center" title="組名" />
    <display:column title="成員" align="center" >
    <a href="<%=request.getContextPath()%>/contact/privatecontactmenlist.jsp?groupid=<bean:write name ="currentRowObject" property="id"/>">成員</a>
    </display:column>
    <display:column title="添加/刪除成員" align="center" >
    <a href="javascript:MM_openBrWindow('<%=request.getContextPath()%>/contact/modgroup.jsp?groupid=<bean:write name ="currentRowObject" property="id"/>','','height=550,width=520,top=0,left=100');">添加刪除成員</a>

    </display:column>
    <display:column property="groupDesc" align="center" title="組描述"/>
    </display:table>

    1.yi這個css能控制居中嗎?,我加了align="center"好像沒用,頁面控制我很差的特別是css

    span.pagelinks {
    background-color: #eee;
    border: 1px dotted #999;
    padding: 2px 4px 2px 4px;
    width: 80%;
    display:block;
    border-top: none;
    margin-bottom: -5px;
    }

    3.至于更改uri名字的事情,沒辦法,我這是為公司同事開發(fā)的,寫誰都不合適,只有用公司的了,況且我也實現(xiàn)了很多輸出功能呀!


    4.剛用了幾天displaytag,理解的不深,多多指導(dǎo)!  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-02 14:27 大明白
    to lyjjq
    span.pagebanner {
    margin-top: 0px;
    margin-bottom: 0px;
    visibility: hidden; //這里隱藏了
    }

    span.pagelinks {
    margin-top: 0px;
    margin-bottom: 0px;
    visibility: hidden; //這里隱藏了
    }
    //這個是我的標(biāo)簽的分頁欄樣式單:
    span.pagelinkspro {
    background-color: #eee;
    border: 1px dotted #999;
    padding: 2px 4px 2px 4px;
    width: 79%;
    display:block;
    border-top: none;
    margin-bottom: -5px;
    display:block;
    direction:rtl; //這里可以設(shè)置左右顯示,但是不能設(shè)置居中,遺憾
    }

    個人意見,不推薦更改dt標(biāo)簽!


    如果你要實現(xiàn)一行顯示多個,如果dt頁面控制不了的話,那你就更該輸出的Collection,它支持很多集合類,你可以在輸出的集合中進行設(shè)計,應(yīng)該可以實現(xiàn)的,我沒有試過!
      回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-02 17:27 apple
    哪些部分用了1.5的語法?
    我的服務(wù)器是基于1.4的,估計用不起來,所以想改動一下你的源碼。  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-03 10:28 大明白
    你編譯一下就能夠看出來那些錯誤的地方,然后在改吧!,我也不太記得,因該就是用了foreach的緣故,沒有別的了,你可以檢查一下,把那里改成普通的for即可  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-03 10:37 keith
    我大體研究了你的源碼,發(fā)現(xiàn)你的標(biāo)簽用處不是很大,對于大量數(shù)據(jù)的問題還是不能很好的解決。為什么呢?
    對大量數(shù)據(jù)來說,我們一般采用數(shù)據(jù)庫,我們希望能從數(shù)據(jù)庫中取出分頁所顯示的部分記錄。其實難道也是針對數(shù)據(jù)庫進行分頁,上面樓主提到用while (rs.next() && i < pageInfo.getPageSize()) 還是通過控制游標(biāo)來獲取所需要的記錄。這樣對數(shù)據(jù)量很大時還是比較慢的,盡管沒有取出所有記錄速度上有了提升。

    還有個問題就是對安表頭排序的問題,標(biāo)簽只是先取出本頁記錄,然后對本頁記錄再排序。而實際應(yīng)用中希望的絕大部分是先安數(shù)據(jù)庫字段來排序,然后取出本頁的記錄。所以你的分頁功能沒有太大的意義,個人觀點,武斷了點,見諒!  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-03 11:17 大明白
    to keith
    第一點,提取數(shù)據(jù)問題,這個標(biāo)簽只是給出一個要提取數(shù)據(jù)的范圍,倒是你是要用 select top 提,還是oracle的特殊語法提取,那就是開發(fā)者的事情了,所以這里不能給出針對不同數(shù)據(jù)的在sql上的提取,那是進一步對數(shù)據(jù)庫的處理,和這個標(biāo)簽沒有關(guān)系,否則,我不做了一個hibernate分頁功能了,還的定義不同數(shù)據(jù)庫的語義,你覺得那時這個標(biāo)簽該做的事情嗎!!!
    注意:那只是演示代碼,當(dāng)然提取數(shù)據(jù)也不止那一種,而且我用的是absolute來直接定位游標(biāo)位置的,而不是用的循環(huán),只有在提取數(shù)據(jù)時用了循環(huán), 還有就是用select top 10 ....(sql server)還有其它數(shù)據(jù)庫類似用法提取數(shù)據(jù),我現(xiàn)在就知道這兩種快速提取數(shù)據(jù)的辦法,你還有其他的好的方法提取數(shù)據(jù)嗎?高效的!可以告訴我嗎?

    第二點,你說的排序問題,實際上你又把問題攪到一塊去了,這個標(biāo)簽提供了當(dāng)前是按第幾列進行排序信息,至于有用到這個信息,在sql語句添加不同 order by的問題,那是利用這個標(biāo)簽的開發(fā)者的事情,同樣不是這個標(biāo)簽的問題,

    所以利用這個標(biāo)簽的人只能做這些事情
    根據(jù)頁面?zhèn)鬟^來的消息,來作整理數(shù)據(jù)集合的事情,
    標(biāo)簽提供了用戶接口信息,
    例如,從那條到那條,那列處于排序狀態(tài)等等,志與開發(fā)者如何利用這信息,那就不是這個標(biāo)簽的事情了,實際上,完全可以在這個基礎(chǔ)上在進一步的對這些信息在針對不同數(shù)據(jù)再進行封裝,會更好,而不應(yīng)該做到這個標(biāo)簽里面

    不知道你同不同意這個觀點

    如果你不太講究結(jié)構(gòu)的化,我以前做的qixin000tag標(biāo)簽完全可以達(dá)到你的要求,適用范圍不一樣,那個很省事,開發(fā)也很快,但是由于數(shù)據(jù)訪問都封裝到里面去了,有些開發(fā)者可能不愿意,所以,我又做了著更開放的小標(biāo)簽,
    大家可以在這個基礎(chǔ)上再進行更改,實際上也沒有太大的更改之處了,因為就是一個通過頁面信息進行提取數(shù)據(jù)的功能,至于如何提取,是進一步的事情!!!!
    所以大家可不要說將一個標(biāo)簽的功能弄得大而全,那就沒有了靈活性,而應(yīng)該都弄成小的模塊,來組合更好,就像DisplayTag沒有作更好的針對數(shù)據(jù)的分頁功能一樣,那不是他該做的事情,你說對不對!   回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-03 12:52 keith
    to 大明白:

    既然對大量數(shù)據(jù)的處理和DT原來的處理方式差不多,那你的標(biāo)簽有什么意義呢?

    當(dāng)然你標(biāo)簽的優(yōu)點是讓取出來的實際記錄條數(shù)和pageInfo.setMaxCount(int)分開,而DT實際記錄數(shù)和maxCount是相同的。所以DT要顯示分頁就必須取出所有記錄。

    另外我發(fā)現(xiàn),當(dāng)URL參數(shù)比較多的情況下,你的標(biāo)簽可以正常保持住參數(shù),但DT的標(biāo)簽卻將參數(shù)丟失了(點擊表頭排序時)。我測試了DT原來的例子是可以保持參數(shù)的。
    后來將:qixin0改為0,qixin1改為1,DT運行就正常了,參數(shù)不會丟失。像qixin0這樣長參數(shù)就有問題。
    request.setAttribute("d-1234-w0", "0");
    request.setAttribute("d-1234-w1", "1");
      回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-03 13:21 大明白
    to keith
    你還是沒有理解我坐的標(biāo)簽的意思
    我坐的標(biāo)簽沒有用dt的分頁功能,而是自己做的,拋棄了dt的分頁,正因為dt有像你說的那個缺點,所以只有把所有數(shù)據(jù)傳過去,他才能正確分頁,所以我自己做了一個分頁的欄,而傳遞給dt的只有一頁數(shù)據(jù),所以自然它就不分頁了,但是還要顯示所有數(shù)據(jù)的分頁怎么辦,所以就設(shè)置了一個setmaxCount虛擬的總數(shù),爾并沒有給他那么多數(shù)據(jù)顯示,但是 我的標(biāo)簽卻可以根據(jù)這個數(shù)來計算分頁,達(dá)到傳遞一頁數(shù)據(jù)仍然能夠很好處理分頁的目的,難道你沒有明白嗎,你還是再看看我的代碼吧!!
    一句話就是:dt只顯示一頁,dtp分頁
    我現(xiàn)在只發(fā)現(xiàn)dt有這樣幾個參數(shù),s,p,o其他均作為addminInfo參數(shù)傳遞,應(yīng)該不丟失,只是位置放錯了,可以從addinInfo中得到,如果有問題可以自己修改,反正有源碼!

    注意事項看我的主題帖子!  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-08 10:28 even
    我想問問這樣如果使用導(dǎo)出功能時,只能導(dǎo)出page的數(shù)據(jù),而不能導(dǎo)出List的數(shù)據(jù),對嗎?  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-10 11:38 大明白
    to even
    實際上我也沒用過displaytag的導(dǎo)出功能,所以我也不知道displaytag是如何設(shè)定導(dǎo)出數(shù)據(jù)的,我想他導(dǎo)出時應(yīng)該走一遍后臺,你可以看看是如何導(dǎo)出的,這應(yīng)該是displaytag的功能,如果他要所有的數(shù)據(jù),那你就dt通過標(biāo)志位,在CustomHandler里面取就是了,要多少有多少!  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-08-23 21:07 風(fēng)
    各位用valuelist不就輕松解決這個問題了嗎?  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-10-13 13:25 lx
    讀了半天。還是最后一個人說到點子上了。  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-10-14 11:12 qixin000
    現(xiàn)在我發(fā)現(xiàn)現(xiàn)實就是用<c:forEach>最好
    但是需要一個提取數(shù)據(jù)用的類,我做的就是這個標(biāo)簽庫
    valuelist太麻煩,好像還得和spring弄在一塊,麻煩,而且要求人家必須用spring不太好
    如果單從顯示的方面來說還不如用jstl:foreach  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-11-10 17:41 sophitia
    看了樓主的帖子所是代碼必須在JDK1.5以上運行,我使用的1.4.08不知道用1.5對我以前的程序會有什么影響。
    然后就是我覺得有幾個問題想問,通過這種實現(xiàn)雖然解決的關(guān)于大數(shù)據(jù)量的分頁面,但是displayTag提供的排序功能肯定全局的排列序列不能用了,局部排序也不一定能使用(由于我沒有測試過)。這樣displaytag好象就只是用來顯示表的作用,其他作用就完全沒有了。
    不知道說得是否恰當(dāng),請 大明白 回答  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-11-11 14:18 qixin000
    我現(xiàn)在已經(jīng)不用displaytag來做顯示了,我現(xiàn)在用jstl的foreach來做顯示,所以我把我的標(biāo)簽做的完善了一些,但是指作為提取數(shù)據(jù)之用,我把頁腳也單獨作為一個標(biāo)簽了,但是由于內(nèi)部url用了utf-8編碼,現(xiàn)在只支持web application 中的URIEncoding=UTF-8這種設(shè)置,我沒改,也懶得改了.如果你有血藥我可以給你源代碼,你自己將這里變成配置文件,這樣你就可以設(shè)置了.
    jdk1.5在這個標(biāo)簽我用到了泛型及foreach,所以jdk1.4不能用

    而其使用這個標(biāo)簽的規(guī)范我已經(jīng)改改了
    你再看看使用說明吧  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2005-11-16 10:41 wafer
    非常好,樓住講講你的新方法是怎么用的吧,有什么好處?  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2006-03-18 11:04 borlandvip
    怎么解決導(dǎo)出excel的時候,不導(dǎo)出列表中的鏈接信息  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2006-04-12 18:21 kikio
    能不能將tag中的請求下一個頁面的url的地址不改變????
    即使是地址欄中的url不變也可以的
    急  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2006-05-10 11:03 fbysss
    跟我的想法一樣,在做這東東之前,先搜了相關(guān)資料,發(fā)現(xiàn)JAVA在這個地方太弱了!JSP出來這么多年了,連個DATAGRID也沒有!先研究一下你的東西,如果真好的話,可以弄個開源項目,一起發(fā)揚光大。  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2006-05-10 13:29 fbysss
    你的demo呢?有沒有完整的?  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2006-07-28 20:37 neon
    大家有不有完整點的DisplayTag標(biāo)簽資料?  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2006-07-28 20:38 neon
    有的話發(fā)給我看看吧 謝了 牛人們
    dudeng2006@163.com  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2006-08-12 23:30 yht
    樓主有沒有完整點的資料!
    發(fā)給我一份吧!
    yht0905@sina.com  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2006-08-12 23:30 yht
    樓主所用樣式表有沒有,發(fā)給小弟一份好嗎?
    yht0905@sina.com  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2006-08-15 10:40 yht
    我想實現(xiàn)樓主我用樣式,怎么實現(xiàn),DisplayTag自帶樣式嗎?
    怎么樣設(shè)置,樓主能否提供給小弟呢?
    yht0905@sina.com  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2007-01-25 16:18 冥王星
    仔細(xì)看display1.1的文檔,里面有提到怎么擴展開支持部分?jǐn)?shù)據(jù)的分頁,有兩種方法:1)實現(xiàn)一個它指定的接口;2)直接給tabletag設(shè)置相關(guān)屬性
    the first one uses the valuelist pattern, and requires that the object that you give to displaytag implements the org.displaytag.pagination.PaginatedList interface. You can pass this object to displaytag as an usual list, and it will extract paging and sorting information from it. This way is more recommended if you have to build your backend layer and you can easily follow this pattern.
    a second way, recommended if you only have to use partial list for few tables that show a performance problem using full lists, is passing all the needed parameters as separate tag attributes (recors to be shown, page number, total number of records...)  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2007-10-31 14:10 Ray Chiang
    您好~我是對岸來的。
    我只在display-table tag中include一個jsp檔,上面使用displaytag的setProperties tag,就可以改變您所指的紅色框部份的風(fēng)格。
    至於分頁機制,implements PagaintedList interface並從http parameter中取的page number ,及 sortitem等等parameter,並傳入dao就可以針對每次跳頁所從Data base中撈取一定range的data。
    有興趣話,我再把圖貼及部份code貼上來給您看吧~  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2007-11-01 16:06 new
    關(guān)于displaytagpro.rar
    web.xml 要怎么配置
    我著怎么老有錯!
      回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2007-11-01 17:32 大明白

    @new
    不需要特殊的配置  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2007-11-02 08:55 new
    @大明白

    我不太明白
    displaytag.jar 配置的web.xml
    <filter>
    <filter-name>exportFilter</filter-name>
    <filter-class>
    org.displaytag.filter.ResponseOverrideFilter
    </filter-class>
    </filter>

    displaytagpro.jar 要怎么寫
    不好意思經(jīng)驗不多 請多多指教  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2007-11-02 11:50 new
    有時間給我傳份完整的例子吧
    上面的哪個下載不了
    我的QQ: 343793577
      回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2007-11-06 13:48 大明白
    推薦你用我新寫的一個分頁標(biāo)簽。那個比較好用,看我的blog  回復(fù)  更多評論
      

    # re: DispalyTag功能擴展,解決大數(shù)據(jù)量顯示,分頁功能的問題! 2008-05-30 14:08 徐杰
    @lyjjq
    jdk版本的問題,他的代碼是在jdk15下編譯的,你用的jdk版本低于1.5導(dǎo)致。。  回復(fù)  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 永久黄网站色视频免费观看| 亚洲AV无码国产丝袜在线观看| 无码少妇精品一区二区免费动态| 亚洲欧洲国产综合AV无码久久| 亚洲AV成人精品网站在线播放| 波多野结衣中文一区二区免费| 无码中文字幕av免费放| 人人揉揉香蕉大免费不卡| 成人福利在线观看免费视频| 亚洲午夜成人精品无码色欲| 亚洲自偷自拍另类图片二区 | 亚洲宅男精品一区在线观看| 国产精品亚洲成在人线| 四虎影视永久免费视频观看| 最近免费中文字幕视频高清在线看| 久久久久免费看黄a级试看| 一区二区三区在线免费| 美女黄色毛片免费看| 亚洲综合色一区二区三区| 亚洲国产日韩在线成人蜜芽 | 人成免费在线视频| 国产精品亚洲av色欲三区| 亚洲人成电影网站免费| 国产成人精品日本亚洲网址| 亚洲国产精品成人综合久久久| 亚洲国产精品第一区二区| 国产亚洲高清不卡在线观看| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 野花香高清视频在线观看免费| 九九综合VA免费看| 曰批全过程免费视频观看免费软件| 亚洲精品乱码久久久久蜜桃| 亚洲人成电影网站免费| 亚洲成a∨人片在无码2023| 亚洲精品亚洲人成在线| 亚洲欧美日韩一区二区三区在线| 日韩亚洲国产综合高清| 中文字幕亚洲情99在线| 亚洲精品宾馆在线精品酒店| 亚洲爆乳AAA无码专区| 无码一区二区三区亚洲人妻|