springmvc+mybatis 无极限树形结构菜单
生活随笔
收集整理的這篇文章主要介紹了
springmvc+mybatis 无极限树形结构菜单
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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=[]}]} ]
總結
以上是生活随笔為你收集整理的springmvc+mybatis 无极限树形结构菜单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自定义类 无极限树形结构菜单(繁杂版)
- 下一篇: 【TP5.1】树状导航栏(无极限分类)