springboot ztree mysql实现菜单管理—(一)菜单显示

菜单管理开发使用的是springboot+ztree+mysql实现,内容分为三步,详见

springboot ztree mysql实现菜单管理—(一)菜单显示

springboot ztree mysql实现菜单管理—(二)菜单初始化勾选

springboot ztree mysql实现菜单管理—(三)菜单权限增删

使用ztree加载菜单,效果如下:

springboot ztree mysql实现菜单管理—(一)菜单显示_第1张图片

1.引入ztree头文件

    
    
    

2.在代码出增加ztree如下代码

3.javascript代码,ajax发送给后台。 

(1)后台和前台字段不对应,使用setting中的data进行对应设置:name对应数据库中的text,id对应menuId,pId对应prarent,根节点是0

(2)采用简单数组方式加载ztree , simpleData。

4. controller后台,从数据库获取menuList,转换成json格式传给前台

  //根据角色查找用户
    @ResponseBody
    @RequestMapping("/findMenuByRoleId")
    public  List  searchRoleMenu(String  roleId) {

        System.out.println("roleId===="+roleId);
        Integer roleIdInt=Integer.parseInt(roleId);
        List menuList=roleSerivce.findMenusByRoleId(roleIdInt);
        System.out.println("menuList.size()==="+menuList.size());
        return menuList;
    }

 

 

5.MenuTree 的bean  

public class MenuTree {
    private  Integer menuId;
    private  String parent;
    private  String text;
    ... get()
    ... set()
}

注意:json传递多个数据如下:

可以在controller使用JSONObject转换,这样就能给前台传递多个json数据

JSONObject result = new JSONObject();
 result.put("menuList",menuList);
 result.put("total",total);
 return result.toJSONString();

然后再前台html使用如下

  zNodes=eval(data.menuList);
 zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
 zTreeObj.expandAll(true); //展开树

你可能感兴趣的:(springboot,ztree)