您的位置:首页 > Web前端 > JavaScript

jstree无限循环递归的后台相关实现

2015-09-30 13:36 375 查看
因为前段时间用到了jsTree这个插件,其实个人是觉得ztree相对而言更好用一些,领导拍板没办法,就研究看了一下,因为我们这边有个很深层次的树结构,因此后台便需要递归将其需要的json数据传到前台,我只是费力的用了拼接的方式,方便些可以用一些json的包或是在spring中有@responsebody标签都可以方便实现json的转换,这里就不一一赘述了,ok,贴上代码

public String getJson(long pid){
String json="";
List list=getOrgListByPid(pid);
//根据父节点id获取所有子节点
Organization organization=null;
if(list!=null&&list.size()>0){
for(int i=0;i<list.size();i++){
organization=(Organization)list.get(i);
List list2=getOrgListByPid(organization.getId());
if(list2.size()>0){
json+="{\"id\":\""+organization.getId()
+"\",\"text\":\""+organization.getName()
+"\",\"state\":{\"opened\":true},";
json+="\"children\":[";
json+=getJson(organization.getId());
json+="]";
json+="}";
}else{
json+="{\"id\":\""+organization.getId()
+"\",\"text\":\""+<organization.getName()
+"\",\"state\":{\"opened\":true},";
}
if(i<list.size()-1){
json+=",";
}
}
}
return json;

}


当然这只是获取后台json数据的的一部分,我只是把它放在service层里,在controller层调用完成后还需要给数据外面包一层中括号,这样一个完整的递归深层次树的json数据便完成啦,至于前台的接收,另外找个时间再写吧,jstree的API看着也确实挺头疼,祝用的人好运。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jstree 递归 json