天天看點

web 前端常用元件【05】ZTree

 web 項目或多或少都會有涉及到什麼人員職稱樹,菜單樹,組織機構樹等。

    曆手三四個項目有大有小,采用的樹前端都是 Ztree。

    有些優秀的J2EE 架構将這些常用的元件都封裝起來,作為子產品化的元件提供給前端,這樣固然是好,開發效率會提升幾倍。

    客戶需求是什麼,元件化往上一套,幾分鐘就能搭建起來。

    但這樣程式員真的就是搬磚的了,純純的重複性工作。

ZTree v3.0 将核心代碼按照功能進行了分割,不需要的代碼可以不用加載

采用了 延遲加載 技術,上萬節點輕松加載,即使在 IE6 下也能基本做到秒殺

相容 IE、FireFox、Chrome、Opera、Safari 等浏覽器

支援 JSON 資料

支援靜态 和 Ajax 異步加載節點資料

支援任意更換皮膚 / 自定義圖示(依靠css)

支援極其靈活的 checkbox 或 radio 選擇功能

提供多種事件響應回調

靈活的編輯(增/删/改/查)功能,可随意拖拽節點,還可以多節點拖拽喲

在一個頁面内可同時生成多個 Tree 執行個體

簡單的參數配置實作 靈活多變的功能

   具體使用架構不同,前端通信請求寫法可能會有差距,但無論使用什麼樣的MVC 架構,怎樣封裝/變化,個人認為前端到後端通信方式大緻為 Ajax/Websocket。

   首先頁面需要引入JS,ZTree 依賴 JQuery,是以 JQuery 寫到前面位置。

web 前端常用元件【05】ZTree
web 前端常用元件【05】ZTree

   最後将後端組織好的 Json 資料初始化入ZTree 即可,具體的 ZTree 使用,比如顯示的樣式,拖拽,點選事件的響應........都是支援的,看具體需求來實作。

    前端的各種樣式事件響應需要一顆細膩的心,如果你們公司前後端是嚴格分工開發的,你完全可以交給前端MM了,專注後端設計。

    下面都為個人了解設計,如看客老爺有更好方式,請斧正。

    首先你得需要一個像 Ztree 樹節點屬性類似的資料結構 POJO(setter,getter 方法已省略)。

    其中隻對幾個常用的屬性進行了定義,友善其他人使用,降低業務代碼之間的耦合性。

web 前端常用元件【05】ZTree
web 前端常用元件【05】ZTree

     其次你需要一張具有上下級關系的資料表,下面這是自己的測試腳本。

     SQL 無國界,盡管拿去練手吧。

web 前端常用元件【05】ZTree
web 前端常用元件【05】ZTree

    當然對于業務 POJO 的資料結構封裝比不可少,主流的持久層架構都能将表映射為 POJO 對象,有自動生成業務接口,服務層。

    不用那些看起來難懂的書面話, 個人了解 POJO 的作用,将現實業務抽象到程式表現層。

    最後是核心的業務處理邏輯,通過持久層擷取想要周遊的資料,進行處理封裝。

web 前端常用元件【05】ZTree
web 前端常用元件【05】ZTree

   需要注意的地方是最後在 ZTreeNodeList 頭部添加的 treeNode 為樹元件的頭部,這裡需要将資料表中的一級菜單的 parentid 設定為 -1。

   最終界面展示

web 前端常用元件【05】ZTree

 本文轉自Orson部落格園部落格,原文連結:http://www.cnblogs.com/java-class/p/5202086.html,如需轉載請自行聯系原作者

繼續閱讀