package com.ssm.blog.service; import com.ssm.blog.pojo.Menu; import java.util.ArrayList; import java.util.List; public class MenuTest { private static List<Menu> menuList = new ArrayList<Menu>(); static { menuList.add(new Menu("用户管理", 1, null)); menuList.add(new Menu("用户资料", 2, 1)); menuList.add(new Menu("基本资料", 3, 2)); menuList.add(new Menu("身份认证", 4, 2)); menuList.add(new Menu("修改密码", 5, 1)); menuList.add(new Menu("博客管理", 6, null)); menuList.add(new Menu("日记管理", 7, 6)); menuList.add(new Menu("说说管理", 8, 6)); menuList.add(new Menu("类别管理", 9, 6)); menuList.add(new Menu("博客类别", 10, 9)); menuList.add(new Menu("首页公告", 11, 6)); } public static void main(String[] args) { // Menu root = new Menu("根节点",0,null); List<Menu> firstMenu = new ArrayList<Menu>(); //获取一级菜单 for (Menu menu : menuList) { if (menu.getParent_id() == null) { firstMenu.add(menu); makeMenu(menu); } } //打印菜单 for (Menu menu:firstMenu){ print(menu,0); } } //递归打印菜单 private static void print(Menu menu,int i) { for(int j=0;j<i;j++) { System.out.print(" "); } System.out.println(menu.getNode_name()); List<Menu> childs = menu.getList(); for (Menu m:childs){ print(m,i+1); } } public static void makeMenu(Menu menu) { for (Menu m : menuList) { if (menu.getId().equals(m.getParent_id())) { menu.getList().add(m); makeMenu(m); } } } }
打印结果如下:
用户管理 用户资料 基本资料 身份认证 修改密码 博客管理 日记管理 说说管理 类别管理 博客类别 首页公告