jqgrid树形菜单,后台封装树形数据

使用递归调用方式,方法比较慢,不适合数据量大的功能

 public Map<String,TblMenuButtonInfo> menuList(List<TblMenuButtonInfo> menuList,Map<String,TblMenuButtonInfo> resultMap){
       Map<String,Object> map = new HashMap<>();
       if(menuList != null && menuList.size() != 0){
          for (TblMenuButtonInfo tblMenuButtonInfo:menuList){
             if (tblMenuButtonInfo.getParentIds() != null){
                map.put("parentId",tblMenuButtonInfo.getParentIds()+tblMenuButtonInfo.getId()+",");
             } else {
                map.put("parentId",tblMenuButtonInfo.getId()+",");
             }
             resultMap.put("menu_"+tblMenuButtonInfo.getId(),tblMenuButtonInfo);
             List<TblMenuButtonInfo> childrenMenus = menuDao.getChildrenAllMenus(map);
             menuList(childrenMenus,resultMap);
          }
       }
       return resultMap;
    }

在方法中调用自己的方法

  menuList(childrenMenus,resultMap);

使用LinkedHashMap接收数据,LinkedHashMap数据是有序的

Map<String,TblMenuButtonInfo> resultMap = new LinkedHashMap<String,TblMenuButtonInfo>();

版权声明:本文为weixin_41633886原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。