起源:老师上课我就不听 下课就自己疯狂肝。。。。(大家不要学我)
最近web课老师教了动态后台权限管理:
即把菜单内容放到数据库实现前端后台的菜单分角色权限实现不同菜单
因为太困了 没怎么听 而且我用的模板和老师不一样
老师的做法是jsp中foreach实现
我用的是layuimini模板
但是layuimini模板的菜单是通过init.json文件来渲染的:如图
而json文件格式为:
那么问题来了,sql查询出后台菜单数据容易,但是返回json数据类型的数据却并不容易,于是我只好(武器大师)开大开大!!!——>
sql语句:
java code:
首先new一个hashmap来存放所有的数据
然后new两个hashmap存放hemoinfo和logoinfo
然后new一个arraylist来存放菜单数据
注意我们的json文件格式
所以此时使用的是
List<Object> menuInfo = new ArrayList<>();
而不是
Map<String, Object> menuInfo= new LinkedHashMap<>();
在这里我们需要通过递归来把主菜单下的子菜单按格式查询出来
这时就可以查出我们需要的数据了
最后是数据库表的test模板
这张表中fatherId为0会显示在layuimini模板中上部菜单如图:
而fatherId为1则会显示在0菜单下 即为左侧菜单
而如果你想在左侧菜单再分子菜单 只需要在数据库中添加fatherId为你想细分的主菜单id的数据
如上图数据库表中8菜单
其他相关数据库表
好了这就是我刚刚学会的分角色动态菜单权限
有疑问的同学欢迎加入我的群聊 一起探讨
点击链接加入群聊【web开发交流群】:https://jq.qq.com/?_wv=1027&k=1wknnxD2
企鹅群号:1032271739
本人企鹅:707234672