本文介绍: 两种方式实现JQuery + zTree从后端获取数据,并形成树。

1.方式一:自己通过ajax请求获取数据后,再将节点信息传给zTree。(省略项目创建controller的创建,不会的可以文章IDEA中创建SpringBoot项目,并实现HelloWorld》)

controller中写一个接口返回需要数据

@RestController
@RequestMapping("/student/courseDocument")
public class CourseDocumentController {

        @Autowired
        private CourseDocumentService courseDocumentService;

        @GetMapping("/getByStudentId")
        public AjaxResult getByStudentId(HttpSession session) {
            Student student = (Student) session.getAttribute("student");
            if (ObjectUtil.isNotNull(student)) {
                String studentId = student.getId();
                LambdaQueryWrapper<CourseDocument> wrapper = Wrappers.<CourseDocument>lambdaQuery()
                    .eq(CourseDocument::getStudentId, studentId);
                List<CourseDocument> courseDocuments = courseDocumentService.list(wrapper);
                return AjaxResult.success("查询成功",courseDocuments);
            }
            return AjaxResult.success("学生信息存在");
        }

    }

前端通过Ajax获取,并直接传到zTree中。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">

<head th:replace="fragment/header :: bootstrapHeader">
</head>

<head th:replace="fragment/header :: zTree">
</head>
<head>
    <script>
        let zNodes;
        $(document).ready(function () {

            $.ajax({
                type: "get",
                url: "/student/courseDocument/getByStudentId",
                async: false,
                success: function (response) {
                    zNodes = response.data;
                }
            });
            let setting = {
                view: {
                    dblClickExpand: false,
                    showLine: true,
                    selectedMulti: false
                },
                data: {
                    key: {
                        //显示名称在列表中属性name: "name"
                    },
                    simpleData: {
                        enable: true,
                        //id列表中的属性idKey: "id",
                        //父id列表中的属性pIdKey: "parentId"
                    }
                }
            };
            zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
        });
    </script>
</head>

<body>
    <div>
        <div id="treeDemo" class="ztree"></div>
    </div>
</body>

</html>

结果

提示

@RestController
@RequestMapping("/student/courseDocument")
public class CourseDocumentController {

        @Autowired
        private CourseDocumentService courseDocumentService;

        @GetMapping("/getByStudentId")
        public List<CourseDocument> getByStudentId(HttpSession session) {
            Student student = (Student) session.getAttribute("student");
            if (ObjectUtil.isNotNull(student)) {
                String studentId = student.getId();
                LambdaQueryWrapper<CourseDocument> wrapper = Wrappers.<CourseDocument>lambdaQuery()
                    .eq(CourseDocument::getStudentId, studentId);
                List<CourseDocument> courseDocuments = courseDocumentService.list(wrapper);
                return courseDocuments;
            }
            return null;
        }

}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">

<head th:replace="fragment/header :: bootstrapHeader">
</head>

<head th:replace="fragment/header :: zTree">
</head>
<head>
    <script>
        let zNodes;
        $(document).ready(function () {
            let setting = {
                async: {
                    //异步是否开启true代表开启
                    enable: true,
                    url: "/student/courseDocument/getByStudentId",
                    type: "get"
                },
                view: {
                    dblClickExpand: false,
                    showLine: true,
                    selectedMulti: false
                },
                data: {
                    key: {
                        //显示的名称在列表中的属性名
                        name: "name"
                    },
                    simpleData: {
                        enable: true,
                        //id列表中的属性名
                        idKey: "id",
                        //父id在列表中的属性名
                        pIdKey: "parentId"
                    }
                }
            };
            zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, null);
        });
    </script>
</head>

<body>
    <div>
        <div id="treeDemo" class="ztree"></div>
    </div>
</body>

</html>

以上内容也是自己刚学的,可能有很多不完善的地方,甚至是错误的,请多包涵!!!一起学习,不要颓废,多学点东西总是没错的!!!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注