zTree树的简单应用

工具:zTree
下载地址:https://download.csdn.net/download/ly_linyuan/10393005

1.在工程中引入相关js
zTree树的简单应用_第1张图片

2.在相关的jsp页面上引入这些js和css样式
这里写图片描述

3.编写相关的js代码,实现动态的生成一棵树(数据来源是一个json串)


前台代码:

4.后台controller代码:

@RequestMapping("/findzT/{id}")
@ResponseBody
public String find(@PathVariable Integer id,Model model){
    //查询所有权限
    List perlist = permissionService.getAll();
    int size=perlist.size();
    //查询当前角色拥有的权限关系表
    List rplist = rolePermissionService.getByRid(id);
    //遍历关系表,查询出该角色拥有的权限
    Set plist = new HashSet();
    for(RolePermission rp : rplist){
        //通过id查询到权限
        Permission p = permissionService.getById(rp.getPid());
        plist.add(p.getName());
    }

    //4.组织json串
    StringBuilder sb = new StringBuilder();
    sb.append("[");
    for(Permission per : perlist){
        size--;
        sb.append("{\"id\":\"").append(per.getId());
        sb.append("\",\"pId\":\"").append(per.getParentId());
        sb.append("\",\"name\":\"").append(per.getName());
        sb.append("\",\"checked\":\"");
        if(plist.contains(per.getName())){
            sb.append("true");
        }else{
            sb.append("false");
        }
        sb.append("\"}");

        if(size>0){
            sb.append(",");
        }
    }
    sb.append("]");
    return sb.toString();
}

5.效果图:
zTree树的简单应用_第2张图片

你可能感兴趣的:(java,java)