easyui异步加载 java_EasyUI异步动态加载树节点

本文详细介绍了如何使用EasyUI实现异步加载树节点,包括前端配置和后端(Java Spring MVC)实现。前端通过指定url和method属性进行异步请求,后端提供接口接收父节点id并返回子节点数据。返回的树节点数据结构要求包含id、text、state等字段,以控制树的展示状态。
摘要由CSDN通过智能技术生成

EasyUI实现异步加载树节点示例

前端

url="get_tree_data.json" data-options="lines:true,method:'GET'">

$("#treeid").tree({

url:"get_tree_data.json",

method:'GET'

lines:true,

...

});

后端(Java Spring MVC)

@ResponseBody

@RequestMapping(value="get_tree_data.json", method=GET)

public List> getTreeData(@RequestParam Integer id) {

//

List deparments = getChildrenDepartments(id);

return convertDepartmentsToTree(departments);

}

public List> convertDepartmentsToTree(List departments) {

notNull(departments);

List trees = new ArrayList<>(departments.size());

departments.forEach(department -> {

Tree tree = new Tree();

tree.setId(department .getId())

tree.setText(deparment.getName())

tree.setArributes(new DepartmentAttrs(department));

// ...

if(department.hasChildren()) {

tree.setState("closed); //在前端显示为可以展开的节点,展开后会请求后端加载它的子节点

} else{

tree.setState("open"); //在前端显示为叶子节点

}

});

}

public class Tree {

private Integer id;

private String text;

private String iconCls;

private T attributes;

private String state;

private List children;

private boolean checked;

.....getter and setter

}

EasyUI实现异步动态树节点加载,构建树有几个要求:

返回的树节点必须有id属性

后端接口必须要id作为参数,接收父节点id,返回子节点列表

如果返回的节点是叶子节点,把state值设为"open",如果还有下级节点,则把state设为"closed"

返回的json结构:

[{

"id": 1,

"text": "Node 1",

"state": "closed",

"children": [{

"id": 11,

"text": "Node 11"

},{

"id": 12,

"text": "Node 12"

}]

},{

"id": 2,

"text": "Node 2",

"state": "closed"

}]

id: 节点id

text:节点显示的文字

state: 值为'open' 或者 'closed', 默认为'open'。当值为'closed', 在异步加载中,节点显示为一个可以展开的节点

checked: 标记节点是否可以勾选

attributes: 自定义属性

children: 子节点

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值