easyui 中 的同步树(3)------用递归写
来源:互联网 发布:缺月梧桐 知乎 编辑:程序博客网 时间:2024/06/16 01:21
以上两篇都只能显示有限的节点,如果想要在前台显示无限的节点,就需要用到递归了。这篇文章是基于上一篇的。
我的思路是:
先找出根节点
再递归根节点(递归结束的条件是:当此节点没有子节点时,结束递归)
1.数据库表设计和实体类和上一篇是一样的
2.看下DAO层和controller层
第一步:先取得根节点
public List getAllTree() { String hql = "from TAcademy where pid=(select min(pid) from TAcademy)"; Query query = sessionFactory.getCurrentSession().createQuery(hql); return query.list(); }
第二步:遍历根节点
@RequestMapping("/__getAllTree") public String __getAllTree(HttpServletRequest request,HttpServletResponse response)throws Exception{ List<TAcademy> tree = treeService.getAllTree(); List<TAcademy> allTree = digui(tree); JSONArray jn = JSONArray.fromObject(allTree); response.setContentType("text/html;charset=utf-8"); response.getWriter().println(jn.toString()); return null; } //递归形成专业树 public List digui(List<TAcademy> tree){ for (TAcademy academy : tree){ if(treeService.getAcademyByPid(academy.getId())!=null){ List<TAcademy> _tree = treeService.getAcademyByPid(academy.getId()); academy.setChildren(_tree); digui(_tree); } } return tree; }
注意:其实不应该把数据库表中id设置问auto,如果设置成auto,那么就会在插入节点的时候出现问题。所以就在数据库中再增加一个字段。
0 0
- easyui 中 的同步树(3)------用递归写
- easyui 中 的同步树(1)
- easyui 中 的同步树(2)
- easyUI同步树的详解
- 递归实现EasyUI中Tree的Json格式
- 自己写的一个根据结点名称查找CTreeCtrl树中对应结点的方法(用的是递归思想)
- 自己写的一个根据结点名称查找CTreeCtrl树中对应结点的方法(用的是递归思想)
- c语言实现二叉树先序,中序,后序(递归),层次遍历,求叶子节点个数及树的深度,下一篇写非递归的遍历
- 用递归写的一个简单树结构
- easyui的combotree同步树和异步树实现方法
- 详写easyui的配置
- jquery easyui 授权树递归实现(部分Java代码)
- 用递归写Win32的文件夹遍历
- 用递归写Win32的文件夹遍历
- 用递归写的大数运算
- 用递归写Win32的文件夹遍历
- xsl 写的递归
- 写正确函数需要注意的地方:二叉树非递归中序遍历
- 【简介】利用Arduino和Coolpy设计网关 —— 开源项目Coolpy
- Python之numpy教程(五):筛选、排序、集合函数、读取存入数据
- 第四条 私有构造强化不可实例化
- Google Android开发者文档系列-与其他应用程序交互之允许其他应用启动你的Activity
- NYoj289苹果(0-1背包)
- easyui 中 的同步树(3)------用递归写
- 第14周实践项目2(1)——两个成员的类模板
- 第13周项目2-动物怎么叫
- excel向列数据中添加前缀
- Android自定义控件之onLayout
- 第10、11周项目2:存储班长信息的学生类(2)
- Python格式化日期
- Android开发之解决Error:(16) Error: "ssdk_baidutieba_client_inavailable" is not translated in "en" (Englis
- fifo的c语言实现