EasyUI权限系列(一星权限)
今天为大家介绍一下一星权限,现在市面上已经没有什么人在用一星权限了,只不过后面介绍权限难度的递增,为了大家好理解,我就从一星权限开始介绍:
从图理解开始理解:
首先创建两个数据库表, 用户表中需要有一个menuId,当你登陆时获取到这个menuId,在菜单表中查询是否有这个值,如果有就将查询到的菜单表的数据以json的格式展示在easyui中,最难的部分是转换这里,代码如下:
package com.fairy.dao;import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import com.fairy.entity.TreeNode;
import com.fairy.util.JsonBaseDao;
import com.fairy.util.JsonUtil;
import com.fairy.util.PageBean;
import com.fairy.util.StringUtils;public class MenuTreeDao extends JsonBaseDao{public List<Map<String, Object>> menuList(Map<String, String[]> paramMap,PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{String sql="select * from t_easyui_menu where true";String menuId=JsonUtil.getparamMap(paramMap, "Menuid");if (StringUtils.isNotBlank(menuId)) {sql+=" and parentid="+menuId;}else{sql+=" and parentid=-1";}return super.executeQuery(sql, null);}private void mapToTreeNode(Map<String, Object> map,TreeNode treeNode) throws InstantiationException, IllegalAccessException, SQLException {treeNode.setId(map.get("Menuid").toString());treeNode.setText(map.get("Menuname").toString());treeNode.setAttributes(map);//treeNode.setChildren(children);Map<String, String[]> paramMap=new HashMap<>();//把当前节点当作父id,查出所有子节点paramMap.put("Menuid", new String[] {treeNode.getId()});List<Map<String, Object>> menuList=this.menuList(paramMap, null);List<TreeNode> treeNodeList=new ArrayList<>();mapListToTreeNodeList(menuList, treeNodeList);treeNode.setChildren(treeNodeList);}public void mapListToTreeNodeList(List<Map<String, Object>> list,List<TreeNode> treeNodeList) throws InstantiationException, IllegalAccessException, SQLException {TreeNode treeNode=null;for (Map<String, Object> map : list) {treeNode=new TreeNode();mapToTreeNode(map, treeNode);treeNodeList.add(treeNode);}}/*** 此方法的返回值才是符合easyui树形的组建所需要的json格式* @param paramMap* @param pageBean* @return* @throws InstantiationException* @throws IllegalAccessException* @throws SQLException*/public List<TreeNode> getEndList(Map<String, String[]> paramMap,PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{List<Map<String, Object>> menuList=this.menuList(paramMap, null);List<TreeNode> treeNodeList=new ArrayList<>();mapListToTreeNodeList(menuList, treeNodeList);return treeNodeList;}
}
调用时的方法
List<TreeNode> endList = this.mtDao.getEndList(req.getParameterMap(), null);ObjectMapper om=new ObjectMapper();ResponseUtil.write(resp, om.writeValueAsString(endList));//ResponseUtil是我写的一个方法类
ResponseUtil的方法类:
package com.fairy.util;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.http.HttpServletResponse;public class ResponseUtil {public static void write(HttpServletResponse resp,Object obj) throws IOException {resp.setContentType("text/html;charset=utf-8");PrintWriter out = resp.getWriter();out.println(obj.toString());out.flush();out.close();}
}
EasyUI权限系列(一星权限)相关推荐
- SpringSecurity系列——其他的权限控制,基于access表达式的权限控制day6-2(源于官网5.7.2版本)
SpringSecurity系列--其他的权限控制,基于access表达式的权限控制day6-2(源于官网5.7.2版本) 常见权限控制总表 基于access表达式的权限控制 实例1:改写hasRol ...
- mysql如何查看远程用户_MySQL系列(十)--用户权限及远程访问
本文基于MySQL8.0,记录一下完整的远程访问的过程,以及这个过程中可能遇到的问题,MySQL运行在阿里云服务器,操作系统:CentOS 7.6 64位 顺便说下,买服务器还是要双十二这种拉新活动再 ...
- Linux系列教程——Linux基本权限、Linux特殊权限、LinuxACL控制、Linux输入输出
文章目录 1 Linux基本权限 1.权限基本概述 1.什么是权限? 2.为什么要有权限? 3.权限与用户之间的关系? 4.权限中的rwx分别代表什么含义? 2.权限设置示例 1.为什么要设定权限,我 ...
- ⭐openGauss数据库源码解析系列文章—— 对象权限管理⭐
在前面文章中介绍过"9.3 角色管理整",本篇我们介绍第9章 安全管理源码解析中"9.4 对象权限管理"的相关精彩内容介绍. 9.4 对象权限管理 权限管理是安 ...
- linux下测试权限,Linux下进程权限分析
在linux下,关于文件权限,大部分人接触比较多,也比较熟悉了解.但是对进程权限一般知之甚少.本文总结一下linux系统下进程权限问题和现象. 需要强调的是,本文是linux系统下讨论,因为linux ...
- 23.文件特殊权限之SUID权限、SGID权限、Sticky BIT权限和ACL权限
目录 1.SUID权限 2.SGID权限 3.Sticky BIT权限 4.ACL权限 在多用户多任务的Linux系统里,每个进程的运行都与运行的用户和组相关联.除了进程识别号(PID)以外,每个进程 ...
- JAVAWEB开发之权限管理(一)——权限管理详解(权限管理原理以及方案)、不使用权限框架的原始授权方式详解
知识清单 1.了解基于资源的权限管理方式 2. 掌握权限数据模型 3. 掌握基于url的权限管理(不使用Shiro权限框架的情况下实现权限管理) 4. shiro实现用户认证 5. shiro实现用户 ...
- android6.0麦克风权限,android 6.0权限检测以及6.0以下,麦克风、相机权限判断
android 6.0以上权限 android 6.0以上权限,我是通过PermissionsDispatcher进行申请,操作的,具体使用方法,见PermissionsDispatcher,Andr ...
- tp5权限管理代码_权限系统控制到按钮级别开源推荐 Spring BootShiroVue
往期精彩推荐: 高逼格开源聊天系统 推荐 Spring+Netty+Websocket实现 java人关注这个github开源项目,你会嫌弃手上的笔试面试题资料 2020年一线大厂java笔试面试题分 ...
最新文章
- 洛谷P1092 虫食算
- EJB3.1 JBoss7.1 Eclipse3.7
- 项目CPU异常高分析
- 关于贝叶斯统计的一点总结
- 29岁,从不学无术到技术Leader:这几个学习资源,决定你5年后的技术提升!
- 使用QQ截图取色的方法
- python维度扩展_在TensorFlow中实现矩阵维度扩展
- 2009岁末之复用系统框架(B/S)
- 面试中的 10 大排序算法总结
- [Android自定义控件] Android Scroller工具类和GestureDetector的简单用法
- Mapreduce和Yarn概念,参数优化,作用,原理,MapReduce计数器 Counter,MapReduce 多job串联之ControlledJob(来自学习资料)...
- ImageLoader简单分析(三)
- 运用ffmpeg生成MP4文件
- CSS 颜色代码大全 CSS颜色对照表
- Variable Rate Gradual Dutch Auctions:一种出售元宇宙虚拟土地的新方式
- 信号采样频率和信号频率的关系
- 【云原生】Helm 架构和基础语法详解
- 【券后价12.20元】【包邮】超能天然皂粉1028g1袋装家用肥皂粉正品家庭实惠装洗衣粉香味持久...
- JS 各类验证(手机号验证、邮箱验证、身份证验证...)
- How to fix ORA-01017:用户名/口令无效 登录拒绝
热门文章
- 怎么解决相位抵消_如何理解音频相位
- java初学总结_Java初学总结
- DE25 Homogeneous Linear Systems with Constant Coefficients
- 高光谱提取薯叶特征波长
- java中怎么把两个JTextfield中的数字相加的值放到另一个JTextfield?_如何将jtextfield中的值解析为整数并对其执行一些数学操作?...
- 虚拟服务器实验,面向计算机硬件的远程虚拟实验服务
- android so导致启动慢,谈谈Android NDK中动态链接库(.so文件)的优化
- php-java-bridge 作用_PHP-Java-Bridge的使用(平安银行支付功能专版)
- 清华博士导师整理:Tensorflow和Pytorch的笔记(包含经典项目实战)
- pythoncad图纸文件管理系统为用户_SafeShare通用CAD图纸文件管理软件6用户免费使用版...