新人头一次遇到需要使用ztree的项目,一番折腾,总算有点初步认识,来这里记录一下对ztree的了解。
首先,需要熟悉一下ztree的相关基础,去官网熟悉一下ztree的简单demo。然后可以发现ztree的主要需要考虑两点---zNodes和setting,zNodes主要由后台传来的数据做加工处理,变成类似:
{id : obj.deptId,pId : obj.parentDeptId,name : obj.deptName}
形式的数据,push进zNodes里面。然后再调用$.fn.zTree.init($("#dept_Tree"), settingDept, zNodes);函数来初始化。其中遇到比较麻烦的问题就是数据处理和已选择的数据的显示。
由于不熟悉前端,一开始使用遗留的<c:forEach>来处理数据,但是由于不熟悉JSP,多次修改无效后转而使用JS来处理,所以跑到后台将带有实体类的list转化成为了JSONArray数据:
JSONArray tempJson=JSONArray.fromObject(findAllDeptInfoList);
来到前端后依旧是各种坎坷,一开始使用的是JSON.parse()函数,发现不能使用后就使用for循环取实体类,
for (var j = 0; j < tempJson.length; j++) {
var temp = tempJson[j];
这里又有一个坑,不了解情况的我再次使用了JSON.parse(tempJson[j]),导致再次报错,而且一直不清楚原来实体类对象根本就不用转化了,在百度和多番咨询后,发现原来只需要去掉所谓的JSON.parse即可。
数据显示问题尚未解决,等以后解决了有空再来记录。
这个的对应资源已经上存到CSDN的,需要的自取。