后台实现fancytree遍历节点数据
来源:互联网 发布:淘宝仓库工作流程 编辑:程序博客网 时间:2024/05/20 19:47
利用递归实现。
private Boolean isHasChild=false;
private Boolean isHasSonChild=false;
public String getJson(int pid){//传入父节点id 第一次的值是根节点,需要写死,
RequestData requestData = this.getPageData();
requestData.put("pid", pid);
//2.先把顶层查出来,
List<RequestData> list = roleService.computerHostGroup(pid);//从最顶层的数据开始,所以pid应该为0
List<RequestData> listpid = roleService.computerHostGroupPid();//所有的pid集合,
//3.判断是否有子节点
for(int i=0;i<list.size();i++){//第一次指的是根节点,第二次应该是所有同级别的儿子0
isHasSonChild=false;//默认没有子节点
for(int k=0;k<listpid.size();k++){
if(list.get(i).get("HOSTGROUPID").equals(listpid.get(k).get("parenthostgroupid"))){//
isHasSonChild=true;
break;
}
}
if(isHasSonChild){//这个条件为了判断是否有子节点
jsons += "{title:\""+list.get(i).getString("NAME")+"\",key:\""+(list.get(i).get("HOSTGROUPID")+"")+"\""+",children:[";
//查询当前父节点下的儿子节点
LOGGER.info(jsons);
String nowPid=list.get(i).get("HOSTGROUPID")+"";
requestData.put("nowPid", nowPid);
List<RequestData> listson= roleService.getAllListSon(nowPid);//所有儿子pid,查找当前节点下的所有子节点
// 遍历它的子节点
for (int j = 0; j < listson.size(); j++) {
isHasChild=false;
/*if(j > 0 && j < listson.size()-1){
jsons += ",";
}*/
//4.循环遍历子节点中使用递归
for(int l=0;l<listpid.size();l++){// 判断子节点是否还有子节点
if(listson.get(j).get("HOSTGROUPID").equals(listpid.get(l).get("parenthostgroupid"))){
isHasChild=true;
break;
}
}
if(isHasChild){
jsons += "{title:\""+listson.get(j).getString("NAME")+"\",key:\""+(listson.get(j).get("HOSTGROUPID")+"")+"\""+",children:[";
LOGGER.info(jsons);
pid=Integer.parseInt(listson.get(j).get("HOSTGROUPID")+"");
this.getJson(pid);
jsons += "]"; //hj start
jsons += " }";
if(j<listson.size()-1){
jsons += ",";
}//hi end
}else{
jsons += "{title:\"" + listson.get(j).getString("NAME")
+ "\" " + " }";
if(j < listson.size() - 1){
jsons+=",";
LOGGER.info(jsons);
}
}
}
jsons += "]"; //
jsons += "}"; //
if (i < list.size() - 1)
{
jsons += ",";
}
LOGGER.info(jsons);
}else{
jsons+="{title:\"" + list.get(i).getString("NAME")
+ "\" " + " }";
LOGGER.info(jsons);
if(i<list.size()-1){
jsons += ",";
}
}
//pid=Integer.parseInt(list.get(i).get("HOSTGROUPID")+"");
}
return jsons;
}
- 后台实现fancytree遍历节点数据
- JS遍历后台List数据
- JQuery 节点遍历 实现代码。
- sql遍历xml,遍历节点并遍历节点值,xm节点属性数据转换成表
- 遍历表格中的input转化为json数据传到后台解析实现一些操作
- 使用注解springmvc配合jsp/ajax/json,实现简单的jsp遍历后台数据
- Javaweb开发,实现'购物车'的遍历与操作(页面数据刷新、后台操作反馈)
- JQuery 对节点数据的遍历
- Jsp实现页面forEach循环遍历多条数据的显示和后台对应数据的获取(strurs1)实现
- Jsp实现页面forEach循环遍历多条数据的显示和后台对应数据的获取(strurs1)实现
- 后台遍历Javascript获取前台数据
- dom4j根据xml节点name值来遍历节点数据
- JS实现数的遍历,查询,增加节点,删除节点
- AJAX实现后台提交数据
- 节点遍历
- 遍历节点
- 遍历节点
- javascript 层级数据的递归遍历与节点插入
- java版支付宝支付
- SpringBoot构建微服务实战 之 Configuration(一)
- HDU 1686 Oulipo(KMP)
- 单例模式
- Android自定义通用适配器
- 后台实现fancytree遍历节点数据
- Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程
- ng-if | ng-show | ng-hide的使用场景
- Openstack Rally测试方法
- 使用RDD解决spark TopN问题:分组、排序、取TopN
- 《kubernetes-1.8.0》07-addon-kubedns
- 原生js实现轮播的小demo
- 【学习笔记】Google JobScheduler Demo的学习与运用
- 装饰模式