java 后台map 集合封装
List<RoleRight> list = rrmapper.selectByROID(String.valueOf(role));
Map<String, List<Right>> map = new HashMap<String, List<Right>>();
List<Right> rights = new ArrayList<Right>(); //一级菜单
for (RoleRight li : list){
Right right = rightmapper.selectByPrimaryKey(li.getRid());
System.out.println(right.getRname()+";;"+right.getPid() + ";;"+right.getRid());
if(right.getPid().equals("0")){
rights.add(right); //一级菜单
}
}
//二级菜单
for(Right ri : rights){
List<Right> ris = new ArrayList<Right>();
String rid = ri.getRid();
for (RoleRight li : list){
Right right = rightmapper.selectByPrimaryKey(li.getRid());
System.out.println(right.getRname()+";;"+right.getPid() + ";;"+right.getRid());
if(rid.equals(right.getPid())){
ris.add(right);
}
}
map.put(ri.getRname(), ris);
}
request.setAttribute("map", map);
jsp 页面用<c:foreach>遍历循环
<c:forEach items="${map}" var="item" varStatus="go">
${go.count}
${item.key}
<c:forEach items="${item.value}" var="i">
${i.rname}
</c:forEach>
</c:forEach>
<div class="panel panel-success leftMenu">
<c:forEach items="${map}" var="item" varStatus="go">
<div class="panel-heading " id="collapseListGroupHeading${go.count}"
data-toggle="collapse" data-target="#collapseListGroup${go.count}"
role="tab">
<h4 class="panel-title ">
<i class="glyphicon glyphicon-picture"></i> ${item.key} <span
class="glyphicon glyphicon-chevron-down right"></span>
</h4>
</div><!-- class="panel-collapse collapse in" 打开状态 -->
<div id="collapseListGroup${go.count}" class="panel-collapse collapse in"
role="tabpanel" aria-labelledby="collapseListGroupHeading${go.count}">
<ul class="list-group">
<c:forEach items="${item.value}" var="i">
<li class="list-group-item">
<!-- 利用data-target指定URL -->
<button class="menu-item-left" data-target="test2.html"
onclick="loadPage('<%=basePath%>${i.rurl}')">
<span class="glyphicon glyphicon-triangle-right"></span> ${i.rname}
</button>
</li>
</c:forEach>
</ul>
</div>
</c:forEach>
</div><!--panel end-->