EasyUI权限(二星权限)
二星和一星相比,相同的点是它也被市场淘汰了,针对一星权限的弊端,二星权限就做了优化
我们来看一下逻辑图,理解一下吧
从图中,我们可以看到,与一星表相比,多了一个中间表,这个中间表,调用的方法也就是多转了个弯,来直接上代码吧
Dao层代码
/**
* 根据uid获得角色id与之相对应中间表的数据
*
* @param paramMap
* @param pageBean
* @return
* @throws InstantiationException
* @throws IllegalAccessException
* @throws SQLException
*/
public List<Map<String, Object>> getMenuidFromUser(Map<String, String[]> paramMap, PageBean pageBean)
throws InstantiationException, IllegalAccessException, SQLException {
String uid = JsonUtil.getparamMap(paramMap, "uid");
String sql = "select * from t_easyui_usermenu where true ";
if (StringUtils.isNotBlank(uid)) {
sql += " and uid=" + uid;
}
System.out.println(sql);
return super.executeQuery(sql, null);
}
``
子控制器层代码:
/**
* 二星action
* @param req
* @param resp
* @return
*/
public String findLogin2(HttpServletRequest req,HttpServletResponse resp){
try {
List<Map<String, Object>> list = this.udao.login2(req.getParameterMap(), null);
Map<String, Object> current = list.get(0);
if (null!=current) {
Map<String, String[]> paramMap=new HashMap<String, String[]>();
paramMap.put(“uid”, new String[]{(String) current.get(“uid”)});
//查询中间表的信息
List<Map<String, Object>> userMenus = this.udao.getMenuidFromUser(paramMap, null);
StringBuffer sb=new StringBuffer();
for (Map<String, Object> map : userMenus) {
sb.append(",").append(map.get(“menuId”));
}
System.out.println(“hh”+sb.toString().substring(1));
req.setAttribute(“menuid”, sb.toString().substring(1));
}
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "index";
}
好了剩下的自己理解吧