這篇文章就把我自己在這方面應用的實踐整理一下拿出來。為您具體介紹了在Tree有關方面應用的完整實踐。
實例如下:
左邊的tree圖的實現方式是通過javascript+jsp實現。假如是為了實現邏輯上的tree結構的維護,采用的是xml解決方案。
現在這里說一下,Javascript+jsp的表現層的實現。這里的javascript并不是唯一的選擇,可以在網上下到類似的javascript(究竟是共享的嘛。:) ).點這里可以下載相關代碼.
其中的test.htm是javascript例子代碼:
"d.add(3,0,'技術與方案','admin.php?module=article&action=catelist&cid=3','','_blank');
"中的"3"是當前節點,"0"是父節點,"技術與方案"是tree上顯示的節點名,"admin.php?......"指向的url."_blank"是指向的窗口。
從上可以看出,這個javascript已經把tree圖實現的大部分工作已經做好了。只要我們傳入對應的數據就可以了。
首先是數據庫結構。從上可以看出,有節點名,節點id,父節點id,節點url,節點target,還可以有個節點狀態(比如是激活或休眠,很常用用一種用法),當然還可以有其它屬性,那就要根據項目的需要了。其實只要抓住一點,有唯一節點id和唯一父節點id就可以了(面向對象)就可以了。
有了數據庫結構,然后要實現tree圖就是根據一定的限制(比如權限,最后對應為tree結構的子集(當然也必須是完整的tree結構))取出符合條件并且完整的tree結構的數據(我采用的解決方法是把權限對應的節點的上溯父節點都取出來保證tree結構的完整性,具體可以看java&xml心得(三)).
假設我們已經完成了上述的工作,那么要實現tree圖的代碼應該如下:
.........
這樣就實現了動態tree圖。
上面的這種實現是用jsp+javascript實現。也可以用xml+xsl來實現。不是必要,只是可以讓新手也了解一下關于xml的應用。:)
比如我們已經成功把數據庫的數據導出成xml格式。代碼如下:
新聞熱點
疑難解答