没有权限角色管理功能菜单加载

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);

时间: 2024-08-03 19:22:18

没有权限角色管理功能菜单加载的相关文章

组策略管理IE加载项

问题现象:IE加载项导致IE浏览器慢或者未响应,IE弹出加载项是否启用等.解决方法:通过组策略管理IE加载项是否启用或禁用.1.先找到加载项的ID2.在组策略计算机配置上进行设置添加 原文地址:https://blog.51cto.com/4964151/2487325

vue后端返回路由表来进行权限管理,加载指定路由结构,不包含则不加载

创建vue项目,配置环境变量,后续需要用到.这里只配置生产环境和开发环境. 项目根目录创建 .env.production 文件 NODE_ENV=production VUE_APP_URL=http://456.com 项目根目录创建 .env.development 文件 NODE_ENV=development VUE_APP_URL=http://123.com src目录下创建router文件夹,index文件中的内容为 import Vue from 'vue' import Ro

rbac05 权限角色管理 (modelform/反向生成url/共用删除,编辑页面/共用确认,取消页面)

角色列表添加角色(forms.ModelForm): ###############forms.ModelForm############## 角色列表编辑角色: 编辑和添加角色可以共用一个模板 ====> change.html def role_edit(request,pk): obj = models.Role.objects.filter(pk=pk).first() if not obj: return HttpResponse("角色不存在") if request

控制器管理-控制器加载过程

1.是否重写了loadView方法,若重写则根据loadView的代码创建View 2.未重写loadView方法,根据storyboard的描述去创建(eg.中根据Demo去创建) eg.UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Demo" bundle:nil]; 3.根据nibName对应的xib的描述去创建 eg.指定xib文件来创建:DemoViewController *mj = [[Demo

imagepool前端图片加载管理器(JavaScript图片连接池)

前言 imagepool是一款管理图片加载的JS工具,通过imagepool可以控制图片并发加载个数. 对于图片加载,最原始的方式就是直接写个img标签,比如:<img src="图片url" />. 经过不断优化,出现了图片延迟加载方案,这回图片的URL不直接写在src属性中,而是写在某个属性中,比如:<img src="" data-src="图片url" />.这样浏览器就不会自动加载图片,等到一个恰当的时机需要加载

JVM加载class文件的原理

当Java编译器编译好.class文件之后,我们需要使用JVM来运行这个class文件.那么最开始的工作就是要把字节码从磁盘输入到内存中,这个过程我们叫做[加载 ].加载完成之后,我们就可以进行一系列的运行前准备工作了,比如: 为类静态变量开辟空间,将常量池存放在方法区内存中并实现常量池地址解析,初始化类静态变量等等.这篇文章我们要好好谈谈JVM是如何加载class文件的? 1.JVM加载类的过程       当我们使用命令来执行某一个Java程序(比如Test.class)的时候:java T

Android图片加载库的封装实战之路

前言 主流图片加载库的对比 Android-Universal-Image-Loader Picasso Glide Fresco 按需选择图片加载库 如何更好地封装图片加载库 为什么要封装 使用策略模式封装图片加载策略 源码地址 部分参考链接 前言 图片加载是Android开发中最最基础的功能,为了降低开发周期和难度,我们经常会选用一些图片加载的开源库 选取第三方SDK需要谨慎 二次封装 主流图片加载库的对比 共同点 使用简单:一句话实现图片的获取和显示 可配置性高:可配置各种解码.缓存.下载

jvm加载class原理

当Java编译器编译好.class文件之后,我们需要使用JVM来运行这个class文件.那么最开始的工作就是要把字节码从磁盘输入到内存中,这个过程我们叫做[加载 ].加载完成之后,我们就可以进行一系列的运行前准备工作了,比如: 为类静态变量开辟空间,将常量池存放在方法区内存中并实现常量池地址解析,初始化类静态变量等等.这篇文章我们要好好谈谈JVM是如何加载class文件的? 1.JVM加载类的过程 当我们使用命令来执行某一个Java程序(比如Test.class)的时候:java Test (1

那些H5用到的技术(1)——素材加载

编码环境前言什么时候用到素材加载?loading提示,让用户等待图片的加载音频的加载利用神器PreloadJS总结 编码环境 Sublime Text 3 插件包括: Autoprefixer 自动补全CSS ColorPicker 颜色选择器 ConvertToUTF8 转码 GBK Support 支持GBK HTML-CSS-JS Prettify 前端代码格式化 SublimeCodeIntel 最好用的自动补全 Chrome 57.0.2950.5 m 用来预览以及调试 gifcam