登录注册权限树形展示

本文介绍了如何使用easyui实现后台管理系统中的树形菜单展示,包括查询数据库获取权限列表、转换为JSON格式供前端渲染,以及根据用户类型动态加载对应的权限菜单。还涉及到了角色权限表的使用和权限分配的方法。
摘要由CSDN通过智能技术生成

}

// 注册成功跳转到登录界面

return “toLogin”;

}

}

2、配置文件,也就是用于跳转界面

<action path=“/user” type=“lv.com.web.UserAction”>

<forward name=“main” path=“/bg/mainTemp.jsp” redirect=“false” />

<forward name=“toLogin” path=“/login.jsp” redirect=“true” />

<forward name=“toRegister” path=“/register.jsp” redirect=“false” />

</action>

展示:

二、后管树形菜单展示


1、根据数据库写菜单栏的实体类

2、写方法(PermissionDao)

package lv.com.dao;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import com.lv.util.BaseDao;

import com.lv.util.BuildTree;

import com.lv.util.PageBean;

import com.lv.util.TreeVo;

import lv.com.entity.Permission;

public class PermissionDao extends BaseDao{

/**

* 变成easyui的tree控件所识别的json格式

* 1、Jackson引入进来

* 2、拿到Permission的list集合,先查询数据库

* 3、List转换成List

* 4、通过工具类BuildTree将平级数据转换成层级数据

*/

// 查询权限表的所有数据

public List list(Permission permission, PageBean pageBean) throws Exception {

String sql=“select * from t_easyui_Permission where 1=1”;

return super.executeQuery(sql, Permission.class, pageBean);

}

// 拿到数据

public List<TreeVo> tree(Permission permission, PageBean pageBean) throws Exception {

List listPermission=this.list(permission, pageBean);

List<TreeVo> listVo=new ArrayList<TreeVo>();

for (Permission p : listPermission) {

TreeVo vo=new TreeVo<>();

vo.setId(p.getId()+“”);

vo.setText(p.getName());

vo.setParentId(p.getPid()+“”);

Map<String, Object> map=new HashMap<String, Object>();

map.put(“self”, p);

vo.setAttributes(map);

listVo.add(vo);

}

return BuildTree.buildList(listVo, “0”);

}

}

3、写子控制器(PermissionAction)

package lv.com.web;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.lv.framework.ActionSupport;

import com.lv.framework.ModelDriver;

import com.lv.util.ResponseUtil;

import com.lv.util.TreeVo;

import lv.com.dao.PermissionDao;

import lv.com.entity.Permission;

public class PermissionAction extends ActionSupport implements ModelDriver{

private Permission permission=new Permission();

private PermissionDao pd=new PermissionDao();

@Override

public Permission getModel() {

return permission;

}

public String tree(HttpServletRequest req, HttpServletResponse resp) {

try {

List<TreeVo> tree = pd.tree(null, null);

ResponseUtil.writeJson(resp, tree);

} catch (Exception e) {

e.printStackTrace();

try {

ResponseUtil.writeJson(resp, “0”);

} catch (Exception e1) {

e1.printStackTrace();

}

}

return null;

}

}

4、配置文件

<action path=“/permission” type=“lv.com.web.PermissionAction”>

</action>

5、写js文件

$(function(){

$(“#bookMenus”).tree({

url:$(“#ctx”).val()+“/permission.action?methodName=tree”

});

})

三、权限登录


也就是说用户只能看到订单管理

商家可以看到书籍管理与订单管理

目前:

是查询所有的菜单数据形式属性层级结构

1、select * from t_easyui_Permission where 1=1 and id in (商家的菜单id/买家的菜单id)

2、买家/商家的菜单id是在角色权限表中获取t_easyui_role_permission,通过user表中的type字段进行查询

1、创建出角色权限表t_easyui_role_permission的实体类

2、写方法(RolePermissionDao)

package lv.com.dao;

import java.util.List;

import com.lv.util.BaseDao;

import lv.com.entity.RolePermission;

public class RolePermissionDao extends BaseDao{

// 通过user表中的type字段进行查询商家的菜单id/买家的菜单id

public List findRolePermission(int type) throws Exception {

String sql=“select * from t_easyui_role_Permission where rid=”+type;

return super.executeQuery(sql, RolePermission.class, null);

}

}

3、进行分配

如此方法(商家管理的权限)进行权限分配

在PermissionDao中写方法(ids就相当于上面应给的权限id)

public List listPlus(String ids) throws Exception {

String sql=“select * from t_easyui_Permission where id in (”+ids+“)”;

return super.executeQuery(sql, Permission.class, null);

}

将以上数据形成父子层级关系

public List<TreeVo> treePlus(String ids) throws Exception {

List listPermission=this.listPlus(ids);

List<TreeVo> listVo=new ArrayList<TreeVo>();

for (Permission p : listPermission) {
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

分布式技术专题+面试解析+相关的手写和学习的笔记pdf

还有更多Java笔记分享如下:

image

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
491389280)]

[外链图片转存中…(img-XushgdtN-1712491389280)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

分布式技术专题+面试解析+相关的手写和学习的笔记pdf

还有更多Java笔记分享如下:

[外链图片转存中…(img-NtmC4M9q-1712491389280)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值