jstree ajax请求加在数据

var tree = $("#tree").jstree({
                plugins: ['wholerow', "checkbox", "types", "sort"],
                core: {
                    expand_selected_onload: true,//默认全部展开
                    data: {
                        url: "${ctx}/sys/role/getMenuTree",
                        dataType: "json"
                    }
                },
                types: {
                //我自己后台传过来的数据会设置type
                    root: {
                        icon: "fa fa-tree icon-state-success icon-lg"
                    },
                    default: {
                        icon: "fa fa-folder icon-state-success icon-lg"
                    },
                    leaf: {
                        icon: "fa fa-file icon-state-warning icon-lg"
                    }
                },
                sort: function (nodea, nodeb) {//自定义排序
                    if (nodea.sort > nodeb.sort) {
                        return 1
                    }
                    return -1;
                }
            }).bind("loaded.jstree", function (e, data) {
                data.instance.open_all();//加载完毕后展开树
                var selectedNode = [];//已勾选节点的,这个也可以放到后台传递的节点里更改state{selected:true}
                var menubindrole = "${menubindrole}".split(",");
                for(i=0;i<menubindrole.length;i++){
                    if(menubindrole[i]!=null &&menubindrole[i]!='' )
                    {
                        selectedNode.push(menubindrole[i]);
                    }
                }
                data.instance.select_node(selectedNode)
//            data.instance.set_icon('2',"fa fa-folder icon-state-warning")
//            data.instance.select_node('2')
            })

服务器端代码

@RequestMapping(value="/getMenuTree")
@ResponseBody
public String getMenuTree()
{
    TreeNodeModel menuTree = sysRoleService.getMenuTree();//形成一颗树

    return JSON.toJSONString(menuTree);//注意这里转换,不知道为什么直接返回json对象不可以
}

public TreeNodeModel getMenuTree()
{
    List<SysMenu> menuList = sysMenuService.findAllList();
    List<TreeNodeModel> nodeList = new ArrayList<>();
    for(SysMenu sysMenu :menuList)
    {
        TreeNodeModel node = new TreeNodeModel();
        node.setId(sysMenu.getId()); //nodeid
        node.setText(sysMenu.getName());//display
        node.setPid(sysMenu.getParentId());//pid
        node.getData().put("sort",sysMenu.getSort());
        nodeList.add(node);
    }
    TreeNodeModel root = TreeUtils.generateTreeWithRootId(nodeList,"1");
    return root;
}


转载于:https://my.oschina.net/u/2256193/blog/646407

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值