Shao Fan

          關于JAVA與軟件工程
          posts - 31, comments - 71, trackbacks - 0, articles - 4
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          用Javascript和JSP標簽在頁面動態生成樹

          Posted on 2006-02-26 18:47 shaofan 閱讀(5794) 評論(4)  編輯  收藏 所屬分類: Java
          主要分為以下四個部分:

          1、適合的客戶端腳本(用于顯示在HTML上,生成HTML代碼)
          2、標簽庫(用于生成JS的樹定義,當然也可以用JAVABEAN) --JSP頁面
          3、樹的數據結構(類、接口,用于為標簽庫提供樹的數據結構,它是數據庫記錄和標簽庫的連接的紐帶)
          4、數據庫的記錄到樹對象的轉換
           
          下面是我的實現:

          1、JS腳本使用TigraTree,這是一個免費的面向對象的樹腳本,功能比較齊全,樹的定義簡單,易于標簽庫生成JS代碼
          比如,以下定義了一個樹:

           1 var TREE_ITEMS =
           2 [
           3  
           4 [ '方圓公司','www.fangyuan.com',
           5         [ '技術部','tech.fangyuan.com',
           6                 [ '救援隊','rescue.fangyuan.com'],
           7                 [ '上門服務隊','support.fangyuan.com']
           8         ],
           9         [ '市場部','market.fangyuan.com'],
          10         [ '辦公室','office.fangyuan.com',
          11                 [ '辦公室廁所','wc.fangyuan.com'
          12                 ]
          13         ],
          14 ]
          15 ];

           
          然后使用以下代碼在頁面顯示樹:

          <script language="JavaScript">
                   
          new tree (TREE_ITEMS, TREE_TPL );
          </script>

           
          其中,TREE_ITEMS是樹的定義,TREE_TPL是對各個圖標的定義,可以根據需要更改
           
          2、編寫Tree標簽庫,該標簽庫從session/request中讀取一個實現了Tree接口的對象,遍歷該對象,來生成上面所示的js變量TREE_ITEMS,并寫到頁面上,同時也生成new tree(...)代碼,來顯示這棵樹。
          代碼就像這樣:

          <view:tree name="treDeps" selected="org_selectedNode"
              captionProperty
          ="DEP_NAME" href="actDepView.do"
              paramID
          ="id" paramProperty="DEP_ID"/>


          name是bean的名字,selected是表示當前選中的節點的bean,用來在刷新的時候能記住樹的狀態。
          樹由很多個節點組成,每個節點帶有一定的數據,也就是說,一個節點會和一個對象綁定。

          captionProperty就是用來指定每個節點上的文字從綁定對象的哪個屬性上取。href表示節點的鏈接,paramID/paramProperty用來生成動態鏈接的參數。
           
          3、session/request中的tree對象是由業務方法從數據庫讀出并生成的。
           
          另外,利用上面講的基本原理,還可以實現很多功能。如各個節點可以定制使用不同的圖標,而不再依賴于節點的狀態來決定圖標,也可以增加復選框、單選框等。甚至可以在數據量很大的時候,每次只取某層的節點,然后在點擊某個節點旁的展開按鈕時,即時從數據庫取數據來顯示。具體的就只能以后再寫了。

          (轉移自 shaofan.blogbus.com )

          評論

          # re: 用Javascript和JSP標簽在頁面動態生成樹  回復  更多評論   

          2006-07-12 09:51 by flygoo
          有沒有例子

          # re: 用Javascript和JSP標簽在頁面動態生成樹  回復  更多評論   

          2006-08-12 09:47 by tuyuan
          能不能多貼點東西啊,這樣太不清楚了。
          從端到端的詳細的說明下
          期待中。。。。。。。。。

          # re: 用Javascript和JSP標簽在頁面動態生成樹  回復  更多評論   

          2006-08-16 19:38 by shaofan
          @tuyuan

          哪里不清楚呢?

          # re: 用Javascript和JSP標簽在頁面動態生成樹  回復  更多評論   

          2006-08-16 19:40 by shaofan
          最主要的部分是標簽庫,要用標簽庫來把要顯示的數據轉換成javascript所需要的形式,放到頁面上。然后JAVASCRIPT才能正確顯示出來。
          主站蜘蛛池模板: 中卫市| 广河县| 双江| 广南县| 淮安市| 百色市| 芒康县| 景洪市| 长治市| 房产| 高雄市| 乌鲁木齐市| 汝州市| 巨野县| 额尔古纳市| 怀来县| 云南省| 新龙县| 兴山县| 康乐县| 临朐县| 洛隆县| 拜泉县| 郴州市| 遵化市| 义乌市| 井研县| 泾阳县| 怀柔区| 福泉市| 昌都县| 靖州| 元江| 江城| 景宁| 福泉市| 饶平县| 新兴县| 土默特左旗| 故城县| 平谷区|