easyui高级控件
1、 权限树
1、一星权限设计(用户权限多对一)
2、执行数据库脚本
3、建立实体类
4、创建dao
5、Web层创建
6、更改展示的树形菜单
思考:我们想一个用户对应多个菜单然后一个菜单可以对应多个用户
其实这就是user与menu的多对多的关系
思路:
1、菜单不同的原因在于,利用不同menuid进行查询,原本默认查询的是所有菜单,是通过-1去查的;
2、menuid由来:是登录用户id查询中间表数据所得来的
2、二星权限设计(用户权限多对多)
1、执行数据库脚本
2、修改原有的实体类
3、建立实体类
4、创建dao
5、修改原有的dao
6、新增web的方法
7、新增登入界面,跳入前端树形菜单
TreeNode 建立entity实体类:
package com.xiaoyi.entity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*针对easyui属性展示的json格式串进行实体类描述
*/
public class TreeNode {
private String id;
private String text;
private List<TreeNode> children=new ArrayList<>();
private Map<String, Object> attributes=new HashMap<String, Object>();
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public List<TreeNode> getChildren() {
return children;
}
public void setChildren(List<TreeNode> children) {
this.children = children;
}
public Map<String, Object> getAttributes() {
return attributes;
}
public void setAttributes(Map<String, Object> attributes) {
this.attributes = attributes;
}
@Override
public String toString() {
return "TreeNode [id=" + id + ", text=" + text + ", children=" + children + ", attributes=" + attributes + "]";
}
}
MenuDao 修改一下原有的dao包:
package com.xiaoyi.dao;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.xiaoyi.entity.TreeNode;
import com.xiaoyi.util.JsonBaseDao;
import com.xiaoyi.util.JsonUtils;
import com.xiaoyi.util.PageBean;
import com.xiaoyi.util.StringUtils;
/**1.查询数据库所有数据 用于easyui的tree树形展示,(但是直接得来的书籍格式easyui不识别)
* 2.递归查询节点集合,形成子父节点关系,具备层次结构
* 3.转格式
*
*/
public class MenuDao extends JsonBaseDao{
/**List<TreeNode>加上objectMappe