Vincent.Chan‘s Blog

          常用鏈接

          統計

          積分與排名

          網站

          最新評論

          轉載:Tree2實踐

          通過一次小小的實踐,終于了解如何使用tomahawk中的tree2這個組件了,并且寫了小段程序,從xml中讀取樹的結構,生成一個tree,不過tree2不能直接和xml綁定是一個遺憾,那樣就會省不少事情了。記下一點心得,以供后來參考了。

                   tree2的操作分為兩部分,一部分是在頁面中通過tag定義樣式相關的東西,一部分就是通過編程添加樹的節點,起初看了sample以后總是以為這東西有多么的復雜,其實邏輯是很簡單的,只是sample中定義了多種不同的樣式的節點,看上去很復雜而已。

          下面附上我對sample簡化過的這段tag來說明一下。

          <t:tree2 value="#{catalog.node}" var="node" id="clientside" varNodeToggler="t" >

              <f:facet name="folder">

                  <h:panelGroup>

                      <f:facet name="expand">

                          <t:graphicImage value="images/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>

                      </f:facet>

                      <f:facet name="collapse">

                          <t:graphicImage value="images/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>

                      </f:facet>

                      <h:outputText value="#{node.description}"/>

                  </h:panelGroup>

              </f:facet>

          </t:tree2>

          tree2的主tag定義了tree的根節點和一些相關的參數。嵌套的那個facet定義了一種節點的樣式,包括展開與關閉時的圖片,以及顯示的文字內容。

          在程序里面,我們root TreeNodeBase = new TreeNodeBase(…)來創建一個root節點,然后通過root.getChildren().add(new TreeNodeBase(…))為其添加子節點,任何一個節點都可以添加任意多的子節點,通過這樣的操作,我們可以很容易的生成一個tree的結構了,實際上,這個tree的結構是通過遞歸從xml中讀取出來,生成一個和xml tree完全相同的結構。

          除了明白如何去用這個tree2之外的收獲就是,終于明白了如何去通過遞歸方法遍歷一個樹形結構,雖然在學校里學過遍歷的算法,也抄過例程,但從來沒有理解過是怎么一回事,終于在實踐中理解了,實踐才是軟件的根本之道。
             程序的其它部分放在附件里面了,如果有興趣了可以和我討論tree2,討論其它JSF的東西。

          源文件下載

          查看 解析Tree2 全文

          posted on 2006-01-14 03:43 Vincent.Chen 閱讀(643) 評論(0)  編輯  收藏 所屬分類: JSF


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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 长岭县| 醴陵市| 朝阳县| 曲麻莱县| 锡林浩特市| 基隆市| 饶阳县| 兴业县| 读书| 林口县| 德保县| 岳普湖县| 原阳县| 星座| 司法| 休宁县| 慈利县| 冕宁县| 民丰县| 图片| 博客| 永善县| 拉萨市| 蕉岭县| 上林县| 民权县| 庆云县| 潮州市| 舒兰市| 外汇| 揭西县| 交口县| 庆云县| 麻阳| 济阳县| 苗栗县| 仙居县| 衡东县| 星座| 呼玛县| 潮州市|