全部都是增删改查

修改mapper,service,controller,jsp

给角色分配权限

1.1 跳转分配权限页面

1.1.1 jsp

//实现权限
function toModule() {if (isOnlyChecked()) {formSubmit('${ctx}/role/tomodule', '_self');} else {alert("请先选择一项并且只能选择一项,再进行操作!");}
}
... ...
<li id="people"><a href="#" onclick="toModule();this.blur();" title="分配权限">权限</a></li>

1.1.2controller

修改RoleController

//跳转分配权限页面
@RequestMapping("/tomodule")
public String tomodule(Model model) throws Exception {return "sysadmin/role/jRoleModule";
}

zTree的使用

zTree 是一个依靠 jQuery 实现的多功能 “树插件”。

下载网址

zTree/zTree_v3​gitee.com

api的使用

注意:切换成ie模式,并允许阻止内容

demo的使用

引用

zTree展示权限

pojo

1、因为ztree的zNode要求必须是如下形式:

2、所以可以创建一个bean对象:

package com.sxt.pojo;
//ztree的bean对象
public class TreeNode {private String id;private String pId;private String name;private Boolean open=true;private Boolean checked;
... ...
}

mapper

修改ModulePMapper

//查询所有的权限,并把查询结果装到TreeBean里
List<TreeNode> listModuleOfTreeBean();

修改ModulePMapper.xml

<!--查询所有的权限,并把查询结果装到TreeBean里-->
<select id="listModuleOfTreeBean" resultType="com.sxt.pojo.TreeNode">select m.module_id id,m.parent_id pId,m.name from module_p m
</select>

service

@Override
public List<TreeNode> listModuleOfTreeBean() throws Exception {return modulePMapper.listModuleOfTreeBean();
}

controller

//跳转分配权限页面
@RequestMapping("/tomodule")
public String tomodule(Model model) throws Exception {return "sysadmin/role/jRoleModule";
}//查询zTree的数据
@RequestMapping("/listModuleOfTreeBean")
@ResponseBody
public  List<TreeNode> listModuleOfTreeBean(Model model) throws Exception {List<TreeNode> treeNodes = roleService.listModuleOfTreeBean();return treeNodes;
}

jsp

<script type="text/javascript">var setting = {check: {enable: true //显示checkbox/radio},data: {simpleData: {enable: true//使用简单的数据模式}}};//树的节点数据
/* var zNodes = [{"id":1, "pId":0, "name":"系统管理",open:true},{"id":11, "pId":1, "name":"用户管理",open:true},{"id":12, "pId":1, "name":"角色管理",open:true},{"id":111, "pId":11, "name":"新增",open:true,checked:true }];*/$(function(){$.ajax({url:'${ctx}/role/listModuleOfTreeBean',type:'post',success:initzTree});});function initzTree(zNodes){/**obj:显示zTree的dom节点setting:树的配置信息zNodes:树的节点数据*/$.fn.zTree.init($("#jTree"), setting, zNodes);}<div><%--显示zTree的dom节点--%><ul id="jTree" class="ztree"></ul>
</div>

zTree回显权限

mapper

修改ModulePMapper.xml

<!--查询所有的权限,并把查询结果装到TreeBean里,并支持回显-->
<select id="listModuleOfTreeBeanByRoleId" parameterType="String" resultType="com.sxt.pojo.TreeNode">select m.module_id id,m.parent_id pId,m.name,'true' checked from module_p m where m.module_id in(select module_id from role_module_p rm where role_id=#{roleid})unionselect m.module_id id,m.parent_id pId,m.name,'false' checked from module_p m where m.module_id not in(select module_id from role_module_p rm where role_id=#{roleid})
</select>

修改ModulePMapper

//查询所有的权限,并把查询结果装到TreeBean里,并支持回显
List<TreeNode> listModuleOfTreeBeanByRoleId(String roleid);

Service

@Override
public RoleP getRoleByRoleId(String id) throws Exception {return rolePMapper.selectByPrimaryKey(id);
}@Override
public List<TreeNode> listModuleOfTreeBeanByRoleId(String roleid) throws Exception {/***第一套思路:不推荐**///1、先查询所有权限装到ArrayList//2、再查询当前角色所拥有的权限ArrayList//3、遍历所有权限,如果找到则checked为true/***第二套思路:推荐**///1、查询当前角色所拥有的权限: select id,pid,name,'true' checked from module_p//中间用union all连接//2、查询当前角色所不拥有的权限:select id,pid,name,'false' checked from module_preturn modulePMapper.listModuleOfTreeBeanByRoleId(roleid);
}

controller

//跳转分配权限页面
@RequestMapping("/tomodule")
public String tomodule(String id,Model model) throws Exception {//查询当前角色的详细信息RoleP role = roleService.getRoleByRoleId(id);model.addAttribute("role",role);return "sysadmin/role/jRoleModule";
}//查询zTree的数据
@RequestMapping("/listModuleOfTreeBeanByRoleId")
@ResponseBody
public  List<TreeNode> listModuleOfTreeBeanByRoleId(String roleid,Model model) throws Exception {List<TreeNode> treeNodes = roleService.listModuleOfTreeBeanByRoleId(roleid);return treeNodes;
}

1.1.1.1 jsp

修改jRoleModule.jsp

$(function(){$.ajax({url:'${ctx}/role/listModuleOfTreeBean',type:'post',data:{"roleId":"${role.roleId}"},success:initzTree});
});

分配权限

保存zTree选中的节点信息

ztree 默认选中节点_用户管理、角色管理、模块管理、zTree的使用相关推荐

  1. C#树状图 初始默认选中节点

    效果图: <script type="text/javascript">$(document).ready(function () {GetTree();GetGrid ...

  2. dba 权限_DBA如何玩转PG用户、角色和权限管理?

    概述 官网:https://www.postgresql.org/docs/11/sql-createuser.html Pg权限分为两部分,一部分是"系统权限"或者数据库用户的属 ...

  3. 【SSH框架/国际物流商综平台】-03 部门、用户、角色、模块 CURD BRAC认证 细粒度权限控制 BaseAction Page struts.xml *.hbm.xml

    一.回顾 1.项目首页面执行过程分析 2.顶部菜单点击后,为什么左侧,中间区域会改变 3.为什么左侧菜单点击后,显示结果在中间区域 4.DAO分析 5.Page分页组件 6.编写及酉己置Service ...

  4. oracle中角色和用户权限,Oracle用户、角色、权限管理

    用户在会话的权利上,应该有其他操作的权利:Oracle的用户和口令不区分大小写,真是让人大跌眼镜:Oralce中,所有用户必须明确被 create or replace type address as ...

  5. ant-design tree 设置默认选中状态_快速掌握文件夹位置的更改和文件的默认打开方式及重命名的操作...

    大家好,我是波仔,很高兴来跟大家一起分享与探讨,今天我们来分享一下,谈谈电脑中文件夹如何更改它的位置和文件的默认打开方式以及批量的重命名的一些操作. 在Windows 10的操作系统中,用户的文件夹默 ...

  6. ztree局部刷新节点_神经网络训练的世界记录是怎样被刷新的 -- 总结分布式训练的计算场景...

    还是在今年(2018年)11月美国感恩节放假期间,我无意点开我的新论文搜索关注,假期的懈怠顿时被一扫而空.一篇谷歌的新论文跳入眼帘,声称打破了几天前刚建立的分布式训练速度的记录.各大公司训练速度记录上 ...

  7. jquery.ztree 打开父节点_父进程欺骗技术

    文章正文 监控父进程和子进程之间的关系是威胁检测团队检测恶意活动的常用技术,例如,如果powershell是子进程,而Microsoft Word是父进程,这种这种异常行为各种EDR可以很容易地检测到 ...

  8. c# treeview查找并选中节点_最通俗易懂的二叉查找树(BST)详解

    原来来自 呆萌数据结构-06二叉查找树​imoegirl.com 二叉查找树(Binary Search Tree),简写BST,是满足某些条件的特殊二叉树.任何一个节点的左子树上的点,都必须小于当前 ...

  9. fastreport 打印有 demo version字样_用户增长留存的数字化管理实操, 11大行业demo重构你的运营方法论...

    大风口,大趋势,论坛演讲.大咖授课,听了很多遍,到了自己却又无从下手!行业.企业数字化转型的路线图是什么?数据驱动如何从方法论落地到具体的实际场景中? 数据智能企业易观数科,基于行业服务客户经验,不断 ...

最新文章

  1. Asp.net SignalR 实现服务端消息推送到Web端
  2. 夜晚 十点 React-Native 源码 暴力畜 系列
  3. Visual Studio下Qt调用IDL
  4. CF1528C dfs序+set维护
  5. matlab中instr,MATLAB 串口通信
  6. Apache yarn入门介绍
  7. 用正则表达式将前后空格用空字符串替代:replace(/(^\s*)|(\s*$)/g, )
  8. 使用TensorFlow在Transformers 上生成字幕的注意机制的实现
  9. luogu P3369(Splay)
  10. 幸福小夫妻被五百万巨奖生生拆散 急于离婚
  11. 漏刻有时云守护数据可视化画质感知状态迭代说明文档
  12. IPV4的特殊地址(包括私网地址)
  13. POJ 1033--Defragment
  14. 微信-- 微信小程序开发
  15. 网络云存储技术Windows server 2012 (项目十三 NFS共享的配置与管理)
  16. 卓有成效管理者的八项实践(1)
  17. python使用xlrd读取excel
  18. 微信小程序云开发成绩查询小程序的制作过程。
  19. 页面div内容下载成图片
  20. Shell常用命令grep用法详解

热门文章

  1. Bootstrap Paginator 分页插件的使用
  2. 生产场景 bond 0实战
  3. Shell:字符串操作
  4. 学习jvm(一)--java内存区域
  5. vscode+MinGW+cmake设置轻量ide
  6. connection reset by peer问题总结及解决方案
  7. JBOSS 6和JBOSS 5搭建多实例方法
  8. Linux系统下的/etc/nsswitch.conf文件
  9. 任务五十二:王牌特工
  10. 关于Android 构建