}
// 注册成功跳转到登录界面
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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/93fbde6aaab6781bb52e4ab2df67905b.jpeg)
最后
分布式技术专题+面试解析+相关的手写和学习的笔记pdf
还有更多Java笔记分享如下:
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
491389280)]
[外链图片转存中…(img-XushgdtN-1712491389280)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/93fbde6aaab6781bb52e4ab2df67905b.jpeg)
最后
分布式技术专题+面试解析+相关的手写和学习的笔记pdf
还有更多Java笔记分享如下:
[外链图片转存中…(img-NtmC4M9q-1712491389280)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!