List<SuperMenu> superList=new ArrayList<SuperMenu>();
//取得所有显示为菜单的功能
List<Map<String, Object>> authorList = service.getfindAll();

List<String> superNameList = new ArrayList<String>();
Map<String,List<Menu>> menuMap = new HashMap<String, List<Menu>>();
List<Menu> menuList = new ArrayList<Menu>();
for(Map<String,Object> map:authorList){
if(StringUtils.isNullOrEmpty(String.valueOf(map.get("functiomParentId")))){
//取得父级菜单
List<Object> params=new ArrayList<Object>();
params.add(Long.valueOf(String.valueOf(map.get("functionId"))));
Map<String,Object> m=service.getfindMenu(params);
if(menuMap.get(m.get("functionName")) == null){
menuList = new ArrayList<Menu>();
superNameList.add(String.valueOf(m.get("functionId")));
superNameList.add(String.valueOf(m.get("functionName")));
}
params=new ArrayList<Object>();
params.add(Long.valueOf(String.valueOf(m.get("functionId"))));
List<Map<String, Object>> childList =service.getfindChild(params);//查询子级
for(Map<String,Object> fc:childList){
Menu menu = new Menu();
menu.setFunctionPath(String.valueOf(fc.get("functionPath")));
menu.setFunName(String.valueOf(fc.get("functionName")));
menuList.add(menu);
}
if(!menuMap.containsKey(String.valueOf(m.get("functionName")))){
menuMap.put(String.valueOf(m.get("functionName")), menuList);
}
}else{
continue;
}
}
superList = new ArrayList<SuperMenu>();
for(int i=0;i<superNameList.size();i++){
String supid= superNameList.get(i);
String superName = superNameList.get(i+1);
SuperMenu superMenu = new SuperMenu();
superMenu.setPid(Long.valueOf(supid));
superMenu.setFunName(superName);
superMenu.setMenuList(menuMap.get(superName));
superList.add(superMenu);
i=i+1;
}

request.setAttribute("superList",superList);
request.getRequestDispatcher("center.jsp").forward(request, response);

转载于:https://www.cnblogs.com/lanliying/p/4446427.html

没有权限角色管理功能菜单加载相关推荐

  1. SpringMvc 集成 shiro 实现权限角色管理-maven

    2019独角兽企业重金招聘Python工程师标准>>> SpringMvc 集成 shiro 实现权限角色管理 1.项目清单展示 2.项目源码解析  1)spring-context ...

  2. 利用SPRING管理热加载的GROOVY对象!

    作者:paleXu的技术博客 来源:https://palexu.github.io/posts/spring-dynamic-load-groovy-bean?hmsr=toutiao.io& ...

  3. 权限角色管理模块_界面

    在开发很多项目的时候,都会用到用户权限管理,我也在很多项目里做过权限控制,所以,我也总结出一套条理清晰的角色权限控制体系.并且完善,减少模块的耦合度,做成一个独立的模块,用在很多项目里. 先来看看管理 ...

  4. 火狐加载falsh_使用版本更新管理Firefox加载项

    火狐加载falsh Mozilla has decided to aggressively version and update their Firefox browser, much like Ch ...

  5. 权限角色管理学习(二)

    在实际的工作中,可能还会有一个用户对应多个角色的需求 下面来写写表的设计 总共有六张表: 1.用户信息表 Accounts_Users (包含用户的基本信息,入用户名,性别等) 2.用户角色关联表 A ...

  6. vue 动态修改后端请求_vue-element-admin实战 | 第二篇: 最小改动接入后台实现根据权限动态加载菜单...

    一. 前言 本篇基于 有来商城 youlai-mall微服务项目,通过对vue-element-admin的权限菜单模块理解个性定制其后台接口,实现对vue-element-admin工程几乎不做改动 ...

  7. [搬运工]移动游戏加载性能和内存管理全解析

    UWA 六月直播季 | 6.8 移动游戏加载性能和内存管理全解析 https://blog.uwa4d.com/archives/livebroadcast6-8.html 因为这篇文章没有提供PPT ...

  8. java 角色管理代码_后台管理系统-角色管理模块

    1 角色管理设计说明 1.1 业务设计说明 本模块主要实现的是企业内部角色(岗位)的管理,可以在添加角色时,为角色分配资源访问权限,最后将角色再分配给用户,图所示: 基于对表的设计,其数据逻辑关系的展 ...

  9. vue 判断页面加载完成_vue项目搭建及总结

    一.vue的两种安装方式 (1)直接在html中引入vue.js (2)通过vue+nodeJS搭建 我们采用的是第二种方式 二.vue和nodeJS的关系 (1)nodeJS不是一个js框架,是一个 ...

  10. jvm加载class原理

    转载地址 : http://hxraid.iteye.com/blog/747625 当Java编译器编译好.class文件之后,我们需要使用JVM来运行这个class文件.那么最开始的工作就是要把字 ...

最新文章

  1. ubuntu14.04上搭建android开发环境
  2. 数据与特征对随机森林的影响(特征对比、特征降维、考虑性价比)
  3. SAP QM 执行事务代码QS23为检验特性分配Selected Set的时候报错 - You cannot use entries from catalogs 1 and 3-
  4. [XML-Jsoup]Jsoup_对象的使用(Jsoup工具类,Document,Elements,Element,Node)
  5. MySQL文件后_MySQL误删除文件后,如何恢复
  6. javaweb不同用户登录不同页面的页面_Java Web轻松学36 - 第二个Servlet应用租房网(1)...
  7. 使用threading多线程访问baidu,输出状态码及访问时间
  8. CMU 15-213 Introduction to Computer Systems学习笔记(7) Machine-Level Programming-Data
  9. Linux 常用命令 权限管理命令
  10. 周莫凡python_机器学习 | 莫烦Python
  11. JS入门必备基础知识(适合小白)
  12. 容量管理体系建设实践
  13. 交互媒体专题设计——技术预演与方案设计
  14. java中到底该不该用@author标识作者?
  15. Coursera登不上的全套方法
  16. 微众银行区块链李辉忠:多方大数据隐私计算平台为数据隐私加“安全锁”
  17. 几种常用可视化图表,该怎么用?
  18. joycon 连不上_JoyCon手柄怎么跟switch配对 详细Joy-Con与主机配对教程
  19. 【Matplotlib】(三)折线图
  20. 【LCCUP 力扣杯 2023春季编程大赛】1. 补给马车

热门文章

  1. 【C++】pair对组创建
  2. matlab的取数组末尾n个元素的切片方法
  3. linux live usb下载,LinuxLive USB Creator
  4. axhline函数--Matplotlib
  5. iOS App之间的通信方式
  6. Python版:实现双十一秒杀,防止超限
  7. Apache服务器和tomcat服务器有什么区别(转)
  8. CC***原理及防范方法
  9. C++的 RTTI 观念和用途
  10. linux下赋予普通用户管理员权限