在項目開發中,我們會經常用到一種數據結構—樹。”樹”這種數據結構名稱的靈感完全來自自然界的樹,在計算機中,樹是倒着長的,根在上,葉子在下。
下面來介紹下,在使用ExtJs進行實際項目開發過程中,怎樣才能構建一顆樹,其中分爲靜態樹和動態異步樹兩種類型。如圖所示
一、靜態樹
以上TreePanel提供了樹形結構數據的樹形UI展示。添加到TreePanel中的每個TreeNode都可以包含你的程序中需要使用的元數據(metadata),這些數據被包含在它們的 attribute屬性中。
這樣一顆簡單的靜態樹型結構就構造完成了。接下來需要實現像ExtJs-Api那樣進行關鍵字的快速檢索,請看下面的代碼。
二、動態異步樹
ExtJs是典型的Ajax框架,下面就來體現下異步加載樹的魅力吧!
首先我們來看下異步樹加載時候特點。使用fireBug對運行過程進行檢測。如圖所示,當每點一個節點,都會進行一次服務器訪問的請求。
異步樹前端JS實現過程:
異步樹後臺實現過程:
下面主要看下web層的實現代碼,Service、Dao層就不做具體詳解。
通過buildTree這個function在服務器端構造出我們想要的樹形結構出來。
注意:(在此我們還需要在數據庫建立一張樹形結構的Table,這個將另外介紹,本節不做過度闡釋)