ztree的json格式:(simpleData)
var zNodes =[ { id:1, pId:0, name:"父节点 1", open:true}, { id:11, pId:1, name:"叶子节点 1-1"}, { id:12, pId:1, name:"叶子节点 1-2"}, { id:13, pId:1, name:"叶子节点 1-3"}, { id:2, pId:0, name:"父节点 2", open:true}, { id:21, pId:2, name:"叶子节点 2-1"}, { id:22, pId:2, name:"叶子节点 2-2"}, { id:23, pId:2, name:"叶子节点 2-3"}, { id:3, pId:0, name:"父节点 3", open:true}, { id:31, pId:3, name:"叶子节点 3-1"}, { id:32, pId:3, name:"叶子节点 3-2"}, { id:33, pId:3, name:"叶子节点 3-3"} ];
要生成这样的json 数据 不能被 id 于pId 之间的关系给迷糊了。
java文件递归:
public int fullData(File root , List<SimpleData> breach, int pid, int id) { File[] fileList = root.listFiles(); int len = fileList.length; int fatherpid = pid; int sonid = id; String path =""; for (int i = 0; i < len; i++) { if (fileList[i].isDirectory()) { //List<SimpleData> breach = new ArrayList<SimpleData> (); SimpleData bsd = new SimpleData(); bsd.setpId(fatherpid); bsd.setId(sonid); bsd.setName(fileList[i].getName()); path = fileList[i].getAbsolutePath().substring(rootLen); String path1 = path.replace("\\", "/"); bsd.setPath(path1); breach.add(bsd); sonid = fullData(fileList[i], breach, sonid, sonid+1); } else { SimpleData leaf = new SimpleData(); leaf.setpId(fatherpid); leaf.setId(sonid); leaf.setName(fileList[i].getName()); path = fileList[i].getAbsolutePath().substring(rootLen); String path1 = path.replace("\\", "/"); leaf.setPath(path1); breach.add(leaf); sonid++; } } return sonid; }
这样 产生的数据 id是根据文件的个数来的
如果ztree 不是用了遍历文件夹,而是遍历大量数据的数据库话,那就不能用递归了,直接根据数据库的关系 遍历出来即可,只好是做异步加载
相关推荐
以上就是关于"zTree后台组装树结构java代码"的主题知识,包括了zTree的使用、Java与MySQL的交互、递归算法构建树、Spring JDBC等内容。理解并掌握这些知识点,能够帮助开发者高效地构建基于zTree的树形界面。
ZTree通过Ajax请求向服务器获取数据,服务器端(这里为Java)处理请求并返回JSON格式的节点数据。ZTree接收到这些数据后动态构建或更新树形结构。这个过程涉及到的主要步骤包括: 1. **配置ZTree**:在前端HTML中,...
这里我们讨论如何在Java中实现一个支持多根节点的树结构,并使用ZTree(一种流行的JavaScript库)进行展示。首先,我们需要理解树的基本概念。 **树结构基础** 树是一种非线性数据结构,由节点和边组成。每个节点...
在本场景中,我们关注的是“json+java实现两棵书的移动”这个话题,它涉及到使用Java编程语言和JSON(JavaScript Object Notation)格式来处理和操作无限层级的树结构。JSON因其轻量级、易于读写和解析的特点,在Web...
- **结果集转换**:将查询结果转换为 ZTree 需要的 JSON 格式,可能涉及递归处理,构建层级关系。 4. **项目文件分析** - **test_3.sql**:可能包含了创建数据库表结构和初始化数据的 SQL 脚本,用于演示项目的...
在实现过程中,前端可能会使用JSON格式来接收和解析Java后端发送的树形数据。JSON易于解析且跨平台,适合作为前后端数据交换的格式。前端dtree库通常会提供方法来动态加载和更新树节点,实现增删改查功能,以及节点...
以Java为例,可以遍历查询结果列表,将每个对象转换为JSON格式,包含`id`、`pId`(对应`pid`)、`name`等属性,并可能包括自定义图标等信息。然后将这些JSON对象添加到一个JSON数组中,作为zTree的数据源。 4. **...
zTree支持多种数据源,包括JSON、XML等,能轻松实现无限级联的树形结构,非常适合用于构建动态的树形目录。 3. **MySQL**:MySQL 是一种流行的开源关系型数据库管理系统,用于存储和管理树形目录的数据。在本案例中...
前端部分,可以使用 jQuery 的递归方法或者第三方库如 jQuery UI 的 Treeview 插件来渲染树形结构。例如,可以遍历 JSON 数据,利用 jQuery 的 append 方法动态创建 DOM 节点,形成层次感。如果你希望有更丰富的交互...