EasyUI树

1.前台部分

//checkbox:true显示多选框
<ul id="tt" data-options="checkbox:true,formatter:showName"></ul>
//根据这个路径,只要返回一个树状的json字符串,easyui自动给你生成树
$('#tt').tree({    
    url:'${pageContext.request.contextPath}/permission/find'
}); 

2.后台部分

问题根源:我们如何去生成这么一个树型的字符串?

1.创建一个实体bean,里面的属性你开心就好,没有强行要求,但是一定要有孩子节点

public class Tree implements Serializable {

    private static final long serialVersionUID = 1771389306247727349L;

    private Integer id;
    private String name;
    private List<Tree> children = new ArrayList<Tree>();

    public Tree(Integer id, String name) {
        super();
        this.id = id;
        this.name = name;
    }

    public Tree() {
        super();
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<Tree> getChildren() {
        return children;
    }

    public void setChildren(List<Tree> children) {
        this.children = children;
    }

}

2.把我们拿到权限集合,做成我们的树。把树返回出去,那问题就解决了。

public Tree find() {
        //获得权限的集合
        List<Permission> permissionList = permissionPresistence.find();
        Tree tree = new Tree();
        //先给树一个最开始的根
        tree.setId(0);
        tree.setName("权限");
        //遍历每个权限,然后把权限做进树里面去
        for (Permission permission : permissionList) {
            tree = makeTree(permission, tree);
        }
        return tree;
    }

    //做树
    public Tree makeTree(Permission permission,Tree tree){
        //如果该权限的父id等于当前树的id就说明当前权限是现在的孩子,我们可以直接加进去变成孩子
        if (tree.getId()==permission.getParentId()) {
            tree.getChildren().add(new Tree(permission.getPid(), permission.getDescription()));
        }else{
            //如果当前权限不为树的孩子,我们就得进入下一层,再去判断。
            for (Tree children : tree.getChildren()) {
                makeTree(permission, children);
            }
        }
        return tree;
    }

猜你喜欢

转载自blog.csdn.net/young_____hu/article/details/80064868
今日推荐