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

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

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

    隨筆 - 170  文章 - 536  trackbacks - 0
    <2006年1月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    我參與的團隊

    隨筆分類(103)

    搜索

    •  

    積分與排名

    • 積分 - 414020
    • 排名 - 135

    最新評論

    閱讀排行榜

       

    在我的 blog 中,JSF Tree2 組件一直都是一個熱門的討論話題,為了向大家介紹更多關(guān)于Tree2的內(nèi)容,我翻譯了這篇原產(chǎn)于 Apache Myfaces 社區(qū)的介紹 Tree2 的文章,希望大家能夠?qū)?/FONT> Tree2 有更深的認識。

    在最后會附上一些我在使用中的體會,和大家分享,如果大家有什么想法的話,可以和我多多交流了。本人第一次翻譯文章,難免會有很多不足之處,請大家諒解,也請多多指點。

    英文原作:http://m.tkk7.com/steady/archive/2006/01/12/27814.html

    轉(zhuǎn)載自:http://wiki.apache.org/myfaces/Tree2

    正文如下:

    Tree2組件使用HTML表格將你的數(shù)據(jù)呈現(xiàn)為一個樹。這個樹是動態(tài)的:當用戶點擊它們時它們可以展開或者折疊。該組件同時支持客戶端和服務(wù)端的交互方式,在客戶端交互時使用了JavaScript。在隨后的例子中,每次用戶的點擊將產(chǎn)生一個Request / Response 周期,并在新的視圖狀態(tài)(View State)中重新呈現(xiàn)新的樹結(jié)構(gòu)。

    注:在后面的例子中只有可見的(已經(jīng)展開的節(jié)點)數(shù)據(jù)被傳送到客戶端。而在第一個例子(客戶端Tree),在每個HTML Response中,整個樹都被發(fā)送到客戶端瀏覽器。樹的每個節(jié)點都包含了不少的HTML代碼(假定每個節(jié)點200個字符,這個大小將取決于你希望在節(jié)點上顯示的信息的量),這些信息將被傳送到瀏覽器,其中包括了那些不可見的節(jié)點(沒有展開的節(jié)點),因為它們的一個祖系節(jié)點被展開。如果你有一個深度有四層的樹,平均每個結(jié)點擁有四個子結(jié)點,這時候你就需要傳輸10 + 102 + 103 + 104 = 11 110個節(jié)點,每個節(jié)點有200個字符,這個樹總共就有2 222 000個字符,也就是2M的數(shù)據(jù)。這個例子將向用戶說明,雖然純客戶端Tree會給客戶端帶來更好的用戶體驗,但隨之而來的帶寬問題迅速的增長。純客戶端的樹適用于小型的樹,或者在Intranet及寬帶連接中使用的中型大小的樹。對于大型的樹,或者你需要照顧到一些低帶寬的用戶的需要時,你就需要使用服務(wù)端樹。你可以通過<t:tree2>clientSideToggle這個屬性來選擇你使用的是客戶端的樹或者服務(wù)端的樹,<t:tree2 clientSideToggle="false" ...將會使用服務(wù)端的樹,屬性值設(shè)為true將會使用客戶端的樹,默認值為true

    用法:

    Backing Bean:

    Tree2組件對Backing Bean中的一個TreeModel進行操作。通常情況,你只要把這個TreeModel綁定到這個組件上就可以了,就像這樣:

    <t:tree2 value="#{myHandler.treeModel}" 


    下面需要建立一個類MyHandler,在faces-config.xml中的managed bean配置成myHandler,在例子中這個類提供了一個方法getTreeModel()用于返回一個TreeModel用于表示你的數(shù)據(jù)。

    public class MyHandler {
      
    public TreeModel getTreeModel() {
        
      }

    }


    TreeModel實際上是對TreeNode實例進行了一些簡單的包裝。

    TreeNode是一個接口,其中和tree2相關(guān)有四個方法:

    String getType()

    boolean isLeaf()

    List getChildren()

    int getChildCount()

    其它方法都沒有什么用處了,可能會在今后的版本中取消。它們要求開發(fā)者在開發(fā)backing bean中做一些并不必要的操作。

    int getChildCount() 方法返回這個節(jié)點的子結(jié)點數(shù)量,這個方法了很容易的采用如下的方式實現(xiàn):

      public final int getChildCount() {
        
    return getChildren().size();
      }

    該方法的出現(xiàn)使得對于子結(jié)點的延遲加載變的可行。該方法的實現(xiàn)只需要返回該節(jié)點的子結(jié)點數(shù)量,而不需要返回每個子結(jié)點的實例。

    boolean isLeaf() 方法在該節(jié)點沒有子節(jié)點的時候返回true。這樣,一個很直截了當?shù)膶崿F(xiàn)可以這樣:

      public final boolean isLeaf() {
        
    return getChildren().isEmpty();
      }

    不管你提供了什么樣的實現(xiàn),在任何時間任何情況下你都得保持getChildren().isEmpty() ==> isLeaf()isLeaf()方法實際上控制了節(jié)點被怎樣呈現(xiàn):是否被當做樹葉節(jié)點(不能被繼續(xù)展開)。

    String getType() 方法決定了用怎樣的方式來呈現(xiàn)這個節(jié)點。在 JSF 頁面中,可以在 <t:tree2> Tag 中嵌套facetJSF將會選出與 getType() 方法返回值同名的 facet 用于呈現(xiàn)。如果該節(jié)點沒有找到相符的 facet,將會導(dǎo)致一個錯誤,并且這個方法不會返回null

    List getChildren() 方法返回一個 List,其中包含了該節(jié)點下所有的 TreeNode,這就表示這些節(jié)點將被呈現(xiàn)為該節(jié)點下的子結(jié)點。該 List 不能包含 null,如果該 List 的大小和getChildCount()不符,將會報錯。子結(jié)點將按照它們在 List 中的順序呈現(xiàn)出來。

       后面一半的將會盡快完成翻譯,大約今晚或明天就可以拿出來了。

    posted on 2006-01-13 12:59 steady 閱讀(2539) 評論(1)  編輯  收藏 所屬分類: JSF & Myfaces

    FeedBack:
    # re: 解析Tree2(一) 2008-12-11 16:07 arron
    你好 我在也在用tomahawk的tree2 整合facelets,不過一直沒有成功,不知道什么原因  回復(fù)  更多評論
      
    主站蜘蛛池模板: 日韩插啊免费视频在线观看| 中文字幕免费视频精品一| 2020因为爱你带字幕免费观看全集 | 日韩毛片免费在线观看| 亚洲国产成+人+综合| 91麻豆最新在线人成免费观看 | 青青青视频免费观看| 亚洲av片一区二区三区| 香蕉国产在线观看免费| 亚洲人午夜射精精品日韩| 2022免费国产精品福利在线| 亚洲人成人一区二区三区| 国产成人免费ā片在线观看老同学| 欧洲亚洲国产清在高| 97视频免费观看2区| 亚洲一卡2卡4卡5卡6卡残暴在线| 久草在视频免费福利| 亚洲精品成a人在线观看夫| 免费无遮挡无码永久在线观看视频| 免费毛片毛片网址| 国产亚洲美女精品久久久久狼| 免费无码VA一区二区三区| 亚洲人成人网毛片在线播放| 日本特黄特色aa大片免费| 一级做a爰性色毛片免费| 亚洲免费人成在线视频观看| 91高清免费国产自产拍2021| 亚洲成在人线aⅴ免费毛片| 亚洲国产综合精品一区在线播放| 免费看无码特级毛片| 亚洲日韩乱码中文无码蜜桃臀| 免费精品一区二区三区在线观看| 特级毛片aaaa免费观看| 亚洲va无码va在线va天堂| 成年女人免费视频播放体验区| 日日狠狠久久偷偷色综合免费| 亚洲五月激情综合图片区| 在线a人片天堂免费观看高清| 久久高潮一级毛片免费| 亚洲国产成人在线视频| 亚洲女人被黑人巨大进入|