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;
    }

    当能力支撑不了野心时,就该静下心来学习!
  • 相关阅读:
    Oracle DBA 数据库结构试题2
    Oracle DBA启动和关闭例程试题
    Oracle 命令大汇总备份与恢复
    数据库管理应注意的问题
    Using ICSharpCode.SharpZipLib for zip file
    SQL 2005 新功能
    ASP.net的RUL重写
    datalist 的 Datasource怎样绑定 泛型 List
    文件压缩/解压缩开源项目SharpZipLib在C#中的使用
    asp.net页面间传值的9种方式
  • 原文地址:https://www.cnblogs.com/1234cjq/p/6093946.html
Copyright © 2011-2022 走看看