zoukankan      html  css  js  c++  java
  • 菜单权限管理

    MAP集合key  value   应用

    <div class="accordion" fillSpace="sidebar">
    <c:forEach var="setting" items="${settings}">
    <div class="accordionHeader">
    <h2>
    <span>Folder</span>${setting.key.resourcename}
    </h2>
    </div>
    <div class="accordionContent">
    <c:forEach var="sr" items="${setting.value}">

    <ul class="tree">
    <li><a href="${ctx}/${sr.key.url}" target="navTab" rel="${sr.key.rel}" <c:if test="${sr.key.isExist==1}">checked="true" </c:if>>${sr.key.resourcename}</a>

    <c:forEach var="thr" items="${sr.value}">
    <ul>
    <li><a href="${ctx}/${thr.url}" target="navTab" rel="${thr.rel}" <c:if test="${r.isExist==1}">checked="true" </c:if>>${thr.resourcename}</a></li>
    </ul>
    </c:forEach>
    </li>
    </ul>
    </c:forEach>
    </div>
    </c:forEach>
    </div>

    --------------------------------------------------------------------------------------------------------------------------------------------------------

    业务逻辑层

    /**
    * 根据User查找拥有的菜单权限
    * return Map<一级菜单,Map<二级菜单,三级菜单>>
    * */
    public Map<SysResource, Map<SysResource, List<SysResource>>> findUserSysResource(int id){
    List<SysResource> settings = sysResourceMapper.findByUserId(id);
    Map<SysResource, Map<SysResource, List<SysResource>>> result = new LinkedHashMap<SysResource, Map<SysResource, List<SysResource>>>();
    //将结果转化为map
    if(settings != null && settings.size() > 0){
    Map<SysResource, List<SysResource>> seconds = new LinkedHashMap<SysResource, List<SysResource>>();
    for(SysResource pfs : settings){
    seconds = new LinkedHashMap<SysResource, List<SysResource>>();
    if(pfs.getType().intValue()==1){
    //类型为主菜单时新增主菜单及下级菜单
    Map<String,Object> param = new HashMap();
    param.put("id", id);
    param.put("pid", pfs.getId());
    int a = pfs.getId();
    List<SysResource> tmp = sysResourceMapper.findChildSysResourceByUserId(param);
    if(tmp.size()>0){
    pfs.setIsExist(1);
    }
    for(SysResource sr:tmp){
    param = new HashMap();
    param.put("id", id);
    param.put("pid", sr.getId());
    List<SysResource> ptmp = sysResourceMapper.findChildSysResourceByUserId(param);
    seconds.put(sr, ptmp);
    if(ptmp.size()>0){
    sr.setIsExist(1);
    }
    }
    result.put(pfs, seconds);
    }
    }
    }
    return result;
    }

    当能力支撑不了野心时,就该静下心来学习!
  • 相关阅读:
    对中级 Linux 用户有用的 20 个命令
    对 Linux 新手有用的 20 个命令
    有趣的JavaScript原生数组函数
    编写更好的CSS
    一套名企WEB前端面试题,不提供答案
    探索JavaScript中Null和Undefined的深渊
    30个你必须记住的CSS选择符
    揭秘JavaScript中谜一样的this
    2013年JavaScript开发人员调查结果
    给HTML初学者的三十条最佳实践
  • 原文地址:https://www.cnblogs.com/1234cjq/p/6093946.html
Copyright © 2011-2022 走看看