标签:des class script classname null tree utils param getc
java树形菜单实现
公司表:
部门表:
实体类:
public class Node { private Integer companyId;//公司id private String companyName;//公司名字 private Integer departId;//部门id private String parentId; private String departName;//部门名字 private List<Node> children; //父节点的子类 get/set............. }
树形节点工具类:
package com.dengwei.day01springboot.utils; import com.dengwei.day01springboot.model.Node; import java.util.ArrayList; import java.util.List; /** * @Author * @ClassName TreeUtile * @Description TODO * @Date 2018/10/30 0030 下午 11:29 * @Version 1.0 */ public class TreeUtile { /** * @Author * @Description //TODO * @Date 2018/10/31 0031 上午 12:02 * @Param nodes :所有的节点列表 * @return */ public List data(List<Node> nodes) { ArrayList<Node> rootNode = new ArrayList<>(); for(Node node:nodes){ if(node.getParentId().equals("0")){ rootNode.add(node); } } for(Node node:rootNode){ List<Node> child = getChild(String.valueOf(node.getDepartId()), nodes); node.setChildren(child); } return rootNode; } /** * @return * @Author * @Description //TODO 获取根节点的子节点 * @Date 2018/10/30 0030 下午 11:37 * @Param */ public List<Node> getChild(String id, List<Node> allNode) { //存放子菜单的集合 ArrayList<Node> listChild = new ArrayList<>(); for (Node node : allNode) { if (node.getParentId().equals(id)) { listChild.add(node); } } //递归: for (Node node : listChild) { node.setChildren(getChild(String.valueOf(node.getDepartId()), allNode)); } if (listChild.size() == 0) { return null; } return listChild; } }
controller使用:
dao:
mapper:
标签:des class script classname null tree utils param getc
原文地址:https://www.cnblogs.com/dw3306/p/9880454.html