1. 程式人生 > >easyUI+SpringMVC JPA 實現樹形選單

easyUI+SpringMVC JPA 實現樹形選單

樹控制元件在web頁面中一個將分層資料以樹形結構進行顯示。根據 easyUI API可以得知,樹控制元件的每個節點都具備以下屬性

  • id:節點ID,對載入遠端資料很重要。
  • text:顯示節點文字。
  • state:節點狀態,'open' 或 'closed',預設:'open'。如果為'closed'的時候,將不自動展開該節點。
  • checked:表示該節點是否被選中。
  • attributes: 被新增到節點的自定義屬性。
  • children: 一個節點陣列聲明瞭若干節點。
同時,樹控制元件的資料結構是下面的形式
[{    
    "id":1,    
    "text":"Folder1",    
    "iconCls":"icon-save",    
    "children":[{    
        "text":"File1",    
        "checked":true   
    },{    
        "text":"Books",    
        "state":"open",    
        "attributes":{    
            "url":"/demo/book/abc",    
            "price":100    
        },    
        "children":[{    
            "text":"PhotoShop",    
            "checked":true   
        },{    
            "id": 8,    
            "text":"Sub Bookds",    
            "state":"closed"   
        }]    
    }]    
},{    
    "text":"Languages",    
    "state":"closed",    
    "children":[{    
        "text":"Java"   
    },{    
        "text":"C#"   
    }]    
}]  

從上面的程式碼可以看出,樹控制元件的資料是json型別的,屬性children也是json型別的。

下面就以springMVC JPA為基礎,實現樹形控制元件。

一、資料設計

 

二、前臺JSP,很簡單,就一div就可以。

<div id="t1"></div>

三、JQ實現easyUI
$(function(){
   $("#t1").tree({ 
    url:$('#ctx').val()+'/menu/getMenu.do'
    });
});

四、後臺程式碼實現

 資料庫查詢

	/**
	 * 根據父節點的值查詢所有的子節點 
	 * @param parentId
	 * @return
	 */
	public List<MenuPo> getMenuByParentId(String parentId) {
		
		return menuDaoJpa.findByParentId(parentId);
	}

controller層邏輯編輯
    /**
     * 獲取選單
     * 
     * @param request
     * @param response
     */
    @RequestMapping("/getMenu.do")
    @ResponseBody
    public List<MenuVo> getMenu(HttpServletRequest request, HttpServletResponse response) {
        
            // 獲取父節點id
            List<MenuPo> menuLst = menuService.getMenuByParentId("0");
            
            List<MenuVo> menuList = new ArrayList<MenuVo>();
            
            // 父節點
            MenuVo menuVo = new MenuVo();
            
            // 子節點
            MenuVo child;
            
            List<MenuVo> children = new ArrayList<MenuVo>();
            
            for(MenuPo menuPo : menuLst){
                menuVo = new MenuVo();
                
                // 父節點ID
                String id = menuPo.getParentId();
                // 當前節點ID
                String menuId = menuPo.getMenuId();
                
                child = new MenuVo();
                
                // 一級選單
                if ("0".equals(id)) {
                    // 節點ID
                    menuVo.setId(String.valueOf(menuPo.getId()));
                    //節點text
                    menuVo.setText(menuPo.getName());
                    
                    children = new ArrayList<MenuVo>();

                    List<MenuPo> childLst = menuService.getMenuByParentId(menuId);
                    for(MenuPo menuChild : childLst){
                        // 節點ID
                        child.setId(menuChild.getMenuId());
                        //節點text
                        child.setText(menuChild.getName());
                        children.add(child);
                        menuVo.setChildren(children);
                    }
                } 
                menuList.add(menuVo);
            }
            return menuList;
    }

執行結果


相關推薦

easyUI+SpringMVC JPA 實現樹形選單

樹控制元件在web頁面中一個將分層資料以樹形結構進行顯示。根據 easyUI API可以得知,樹控制元件的每個節點都具備以下屬性 id:節點ID,對載入遠端資料很重要。 text:顯示節點文字。 state:節點狀態,'open' 或 'closed',預設:'op

jQuery EasyUI實現樹形選單及顯示列表資訊

目的:點選目錄即可顯示該部門下員工詳細資訊,應用於OA辦公系統開發 新增各種SH支援,H3core +S2 EMPDAO /* * 根據部門編號查詢部門員工資訊 (non-Jav

SpringMVC+ZTree實現樹形菜單權限配置

true attr 前端 prefix fill body log cti tope 計劃在開源項目裏加入權限配置的功能,打算加入zTree實現樹形結構。 Team的Github開源項目鏈接:https://github.com/u014427391/jeeplatform

react+antd實現樹形選單展示(後臺使用java)

1.資料庫表設計(我使用的是單表一對多,裡面需要有一個pid指向父層級的id) 2.在後臺獲取資料的時候,使用的實體類為此種形式 public class UserTree { private Integer id; private String name; p

關於遞迴呼叫,實現樹形選單的樣式

一:需求   現有以需求就是把某一個帖子的全部評論展示出來。 二:分析   關於對帖子的評論分為主評論和子評論,主評論就是對帖子的直接評論,子評論就是對評論的評論。 三:思路   先獲取某一個帖子的全部主評論,遞迴判斷是否有子評論,獲取子評論。 四:編碼   實體類: 1 import

easyui menu tree 實現左側選單

@ResponseBody     @RequestMapping("menuTreeEasyUI")     public String menuTreeEasyUI(HttpServletRequest request,HttpServletResponse response) {         Ht

ExtJS5 實現樹形選單

首先利用sencha建立extjs的工程,然後是對頁面頂部和底部佈局的新增以及按鈕的美化,因為只要記錄的是選單的生成,就不記錄了。 具體工程我會上傳,因為是自己練練手的東西,所以寫的很雜。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

easyUI 下拉框 樹形選單載入父/子節點

最近忙著做easyUI搭建的專案,有很多父子關係的表需要互相依賴 在前臺展示為選單樹或者是下拉框,最開始沒有思路的時候就想著百度,然後百度出來兩種,一種是下拉框樹,一種是多級選單樹,前者只有兩層,後者不帶下拉,於是想兩者結合起來做一個Demo,如下: 表結構,只有一張表,

Ztree實現樹形選單

** zTree使用教程 ** 在實際的專案開發中,主要使用zTree來進行非同步載入資料,如果資料量大的話,這樣可以大大的減少伺服器的壓力,初學zTree,費了很多心思,現在總結zTree的使用方法。 1. 下載JQuery zTree v3.5

extjs springMVC實現動態樹形選單

最近由於專案需要,做一個樹形動態選單,用extjs3 來做,結合springMVC,實現從後臺動態的載入資料形成許可權選單。 一、資料表設計 首先是資料庫的設計,資料庫表是一張許可權表(即選單表),我把它設計成一張遞迴表,實現能顯示父級選單和子選單的樹形選單, 表的設計如下

easyUI-樹形選單(ComboTree) 無限層級樹實現方式

 對於easyUI實現一個樹,是一件很簡單的事情,實現形式很多。      這裡作者將實現,通過資料庫獲取資料,再將資料通過遞迴形式裝成無限層級json資料,到達無限成級的樹結構。      需要用到的json外掛建附件,希望能對大家有所幫助      效果如圖 

Android提高十七篇之多級樹形選單實現

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

SQL server + ASP.NET MVP + Jquery EasyUI實現樹形節點的增刪改查

最近在做專案時遇到了這樣一個需求,就是做一個系統首頁左側選單的樹形節點的管理。專案後臺資料庫使用的是SQL server 2008,後端框架使用的是微軟的ASP.NET MVC5,前端框架使用的是Jqu

ztree實現checkbox樹形選單,並且父級節點不可選中(只有父級和子級選單);如何獲取選中子節點儲存到資料庫

1.使用ztree首先要匯入ztree的引入檔案(具體看自己需求,需要用ztree拓展功能的需要匯入拓展的js)、及樣式、圖片 注:ztree的樣式檔案必須和圖片檔案在同一級資料夾下 2.檔案引入之後,建立html頁面,樹形結構底層是套,如下圖所示即可

java實現遍歷樹形選單方法——設計思路【含原始碼】

開發工具:MyEclipse 10後臺框架:Hibernate + Struts2 資料庫:Oracle 11g前臺框架:EasyUi瀏覽器:谷歌       在開發中我們經常會遇到左邊是樹形選單,右邊

EASYUI 樹形選單 fastjson JAVA巢狀物件轉JSON

使用EASYUI 的樹形導航選單 JAVA物件轉選單 我用的是JDK1.8 使用 fastjson1.2.7版本 從github下載下來的原始碼 EasyUiTree.java物件程式碼如下: package org.bingley.test; import java.i

使用EasyUI載入樹形選單

一.需求: 在點選新增按鈕後,使用EasyUI的外掛,將資料庫中的資料非同步查詢顯示到頁面上 效果如下: 頁面效果: 資料庫資料: 二.功能實現: 2.1 前端部分 頁

Java +EasyUI+SpringMvc實現Excel匯出

正題 Excel匯出就是根據前臺條件將引數傳到controller,根據引數去資料庫中進行查詢,查詢出list集合,呼叫ExcelUtil工具類,將list集合轉為成excel資料,輸出到瀏覽器。 匯出實現 首先我們先來看下前臺程式碼,前臺獲取引數,將引

ztree樹形選單與jQuery EasyUI的選項卡tabs結合使用

<script type="text/javascript"> $(function(){ //1.設定ztree選單 var setting={ data:{ simpleData:{ enable:true //簡單json

Java +EasyUI+SpringMvc實現Excle匯入匯出(下)

前言     接上篇,在上篇文章我們介紹了要實現Excle匯入做的一些配置和Excel匯入的前端EasyUI程式碼的書寫和後臺controller的具體書寫,這篇我們我們主要來學習Excle匯出的實現和ExcelUtil類的編寫。 正題     Excel匯出就