java递归树
来源:互联网 发布:白苹果保留数据刷机 编辑:程序博客网 时间:2024/05/29 12:27
@Overridepublic List<MenuTree> searchMenuTree() { List<MenuTree> menuTrees = new ArrayList<MenuTree>(); List<SysMenuDTO> sysMenuDTOList = new ArrayList<SysMenuDTO>(); //查询所有菜单 List<SysMenu> sysMenuList = sysMenuService.getRootNodes(); if (sysMenuList.size() > 0) { for (SysMenu sm : sysMenuList) { SysMenuDTO sd = new SysMenuDTO(); BeanUtils.copyProperties(sm, sd); sysMenuDTOList.add(sd); } } if (sysMenuDTOList.size() > 0) { //遍历所有菜单 设置一级菜单 for (SysMenuDTO sysMenuDTO : sysMenuDTOList) { if (StringUtils.isBlank(sysMenuDTO.getParentMenuId())) { MenuTree menuTree = new MenuTree(); menuTree.setText(sysMenuDTO.getMenuName()); menuTree.setSysMenuDTO(sysMenuDTO); menuTree.setNodes(searchSubMenuTree(sysMenuDTO.getMenuId(), sysMenuDTOList)); //子菜单 menuTrees.add(menuTree); } } } return menuTrees;}/** * 设置子菜单 * @param parentCode * @param sysMenuDTOList * @return */private List<MenuTree> searchSubMenuTree(String parentCode, List<SysMenuDTO> sysMenuDTOList) { List<MenuTree> menuTrees = new ArrayList<MenuTree>(); if (sysMenuDTOList.size() > 0) { //遍历所有菜单 设置子菜单 for (SysMenuDTO sysMenuDTO : sysMenuDTOList) { if (parentCode.equals(sysMenuDTO.getParentMenuId())) { MenuTree menuTree = new MenuTree(); menuTree.setText(sysMenuDTO.getMenuName()); menuTree.setSysMenuDTO(sysMenuDTO); //递归 menuTree.setNodes(searchSubMenuTree(sysMenuDTO.getMenuId(), sysMenuDTOList)); menuTrees.add(menuTree); } } } return menuTrees;}
实体类
public class SysMenu { private String menuId; //菜单主键 private String menuCode; //菜单编码 private String menuName; //菜单名称 private String parentMenuId; //父级菜单主键 private String url; //URL地址 private Integer order; //按钮排序 private String memo; //备注 描述 private String status; //数据状态 0-无效 1-有效 private String createUserCode; //创建人编码 private String createUserName; //创建人名称 private Date createDate; //创建日期 private String lastUserCode; //最后维护人编码 private String lastUserName; //最后维护人名称 private Date lastDate; //最后维护日期 private Integer oldOrder; //修改前排序 private Integer smallOrder; private Integer bigOrder; private String parentMenuName; //父级菜单名称 private String parentMenuCode; //父级菜单编码 private String orderMenuName; //排序在之前的菜单名称 private String orderMenuCode; //排序在之前的菜单编码 List<SysMenuButton> sysMenuButtonList = new ArrayList<SysMenuButton>(); //子表}
实体类
@Datapublic class MenuTree { private String text; private SysMenuDTO sysMenuDTO; private List<MenuTree> nodes = new ArrayList<MenuTree>();}
阅读全文
0 0
- java 递归树
- java 递归树结构
- java递归树
- java 树递归
- 递归树查询-java
- java递归树
- java递归生成树
- [Java]递归画树
- JAVA递归、非递归遍历二叉树
- java递归,非递归遍历二叉树
- JAVA递归、非递归遍历二叉树
- java 实现二叉树【递归/非递归】
- java 递归实现二叉树
- 递归实现二叉树 JAVA
- JAVA 实现二叉树 递归
- JAVA递归生成tree树
- java 递归创建二叉树
- java 递归查询组织机构树
- 关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复nginx最新漏洞CVE-2017-7529的解决方案
- 细粒度图像分析进展综述
- 大脑的研究方法
- hackerrank The Time in Words
- 普通表单与响应式表单的对比
- java递归树
- MultipartFile 转 file
- POJ 1716(spfa最长路
- 减少倒计时误差
- 图解原型原型链
- Sublime Text 插件:批量删除空白行
- spring filter的targetFilterLifecycle作用
- Angular的过滤器和自定义过滤器
- HDU 5818 Joint Stacks【优先队列】