springmvc+mybatis 无极限树形结构菜单(第一种)
来源:互联网 发布:网络系统集成建设方案 编辑:程序博客网 时间:2024/05/11 16:47
MYSQL数据库:
查出数据调用封装类:
List<Menu> menulist = new ArrayList<Menu>(); menulist = menuService.menuList(); MenuTree menuTree = new MenuTree(); System.out.println(menuTree.menuList(menulist));
树形结构封装类:
package com.sdmc.util; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import com.sdmc.bean.Menu; public class MenuTree { public static Map<String,Object> mapArray = new LinkedHashMap<String, Object>(); public List<Menu> menuCommon; public List<Object> list = new ArrayList<Object>(); public List<Object> menuList(List<Menu> menu){ this.menuCommon = menu; for (Menu x : menu) { Map<String,Object> mapArr = new LinkedHashMap<String, Object>(); if(x.getPid()==0){ mapArr.put("id", x.getId()); mapArr.put("name", x.getName()); mapArr.put("level", x.getLevel()); mapArr.put("pid", x.getPid()); mapArr.put("child", menuChild(x.getId())); list.add(mapArr); } } return list; } public List<?> menuChild(int id){ List<Object> lists = new ArrayList<Object>(); for(Menu a:menuCommon){ Map<String,Object> childArray = new LinkedHashMap<String, Object>(); if(a.getPid() == id){ childArray.put("id", a.getId()); childArray.put("name", a.getName()); childArray.put("level", a.getLevel()); childArray.put("pid", a.getPid()); childArray.put("child", menuChild(a.getId())); lists.add(childArray); } } return lists; } }
结果:
[{id=1, name=内容管理, level=1, pid=0, child=[{id=6, name=栏目管理, level=2, pid=1, child=[{id=17, name=管理内容, level=3, pid=6, child=[{id=11, name=业务管理, level=4, pid=17, child=[]}]}]}, {id=7, name=模型管理, level=2, pid=1, child=[]}]}, {id=2, name=用户管理, level=1, pid=0, child=[{id=10, name=会员管理, level=2, pid=2, child=[]}]} ]
0 0
- springmvc+mybatis 无极限树形结构菜单(第一种)
- springmvc+mybatis 无极限树形结构菜单
- springmvc+mybatis 无极限树形结构菜单(第二种)
- springmvc+mybatis 无极限树形结构菜单(第三种)
- springmvc+mybatis 无极限树形结构 Mapperxml 映射方法
- 无极限树结构
- MyBatis树形结构查询
- ASP递归无极限菜单树
- javascript无限制级树形菜单
- 利用多叉树实现Ext JS中的无限级树形菜单(一种构建多级有序树形结构JSON的方法
- 利用多叉树实现Ext JS中的无限级树形菜单(一种构建多级有序树形结构JSON的方法)
- easyui树形结构读取菜单
- JQuery,C#,sqlServer 实现无极限多级树形控件
- 多叉树结合JavaScript树形控件实现无限级树形菜单(一种构建多级有序树形结构JSON(或XML)数据源的方法)
- 多叉树结合JavaScript树形控件实现无限级树形菜单(一种构建多级有序树形结构JSON(或XML)数据源的方法)
- 多叉树结合JavaScript树形控件实现无限级树形菜单(一种构建多级有序树形结构JSON(或XML)数据源的方法)
- extjs springMVC实现动态树形菜单
- easyUI+SpringMVC JPA 实现树形菜单
- 第十六周 项目一 (8)基数排序
- CoreLocation笔记 by STP
- Android 常用开发工具类
- 第十六周项目9归并方法改进
- yii2视图的创建与值的传递
- springmvc+mybatis 无极限树形结构菜单(第一种)
- MFC使用ADO连接SQL Server
- 第16周—项目1(8)冒泡排序
- 第十五周 项目1 基数排序
- java.lang.OutOfMemoryError异常解决方法
- 第14周项目4(7)最远顶点
- 第十二周项目3-图遍历算法实现
- 第14周SHH数据结构-【项目2-二叉树排序树中查找的路径】
- 第十六周 项目1-验证算法(6)