Map<String, List<Map<String, String>>> myMenu = operatorDao.getMyMenus(user);
Map<String, String> menuMap = new HashMap<String, String>();
menuMap.put("1","客户账号管理");
menuMap.put("2","查询统计");
menuMap.put("3","资金管理");
menuMap.put("4","代理商管理");
menuMap.put("5","操作员管理");
menuMap.put("6","任务管理");
menuMap.put("7","菜单管理");
req.setAttribute("menuMap", menuMap);
req.setAttribute("myMenu", myMenu);<c:forEach var="map" items="${menuMap}" varStatus="status">
<table cellpadding=0 cellspacing=0 width="96%" align=center>
   <tr>
     <td height=25 class=menu_title id=menuTitle1 onclick="showsubmenu(${status.count})">&nbsp;${map.value}</td>
   </tr>
   <tr>
     <td style="display:none" id='submenu${status.count}'>
<table cellpadding=0 cellspacing=0 width="100%" bgcolor="#C2E0EC" class=sec_menu>
<tr>
<td height=10></td>
</tr>
<c:forEach var="childMap" items="${myMenu['status.count']}">
<tr>
<td height=20>
<img src=<%=request.getContextPath()%>/images/bullet.gif border=0><a href="<%=request.getContextPath()%>${childMap['url']}">${childMap['show_name']}</a>
</td>
</tr>
</c:forEach>
</table>
</td>
  </tr>
</table>
</c:forEach>请教下,好久没弄WEB了,上面EL表达式 第二个foreach显示不出内容
myMenu是个map 然后第二个foreach就是想利用${status.count}作键,取出List<Map<String, String>>进行迭代
可惜出不来,
如果写死,${myMenu['1']} 是可以迭代出来东西.

解决方案 »

  1.   


    <c:forEach var="map" items="${menuMap}" varStatus="status">
    <table cellpadding=0 cellspacing=0 width="96%" align=center>
       <tr>
         <td height=25 class=menu_title id=menuTitle1 onclick="showsubmenu(${status.count})">&nbsp;${map.value}</td>
       </tr>
       <tr>
         <td style="display:none" id='submenu${status.count}'>
    <table cellpadding=0 cellspacing=0 width="100%" bgcolor="#C2E0EC" class=sec_menu>
    <tr>
    <td height=10></td>
    </tr>
    <c:forEach var="mk" items="${myMenu}">
    <c:if test="${mk.key == status.count}">
    <c:forEach var="childMap" items="${mk.value}">
    <tr>
    <td height=20>
    <img src=${pageContext.request.contextPath}/images/bullet.gif border=0><a href="${pageContext.request.contextPath}${childMap['url']}">${childMap['show_name']}</a>
    </td>
    </tr>
    </c:forEach>
    </c:if>
    </c:forEach>
    </table>
    </td>
      </tr>
    </table>
    </c:forEach>先遍历map,再取键值  判断键值是否和父菜单 符合
    符合的情况下 再次遍历 map的值
      

  2.   

    应该map的值应该只是可以是myMenu.key值和myMenu.value值可以迭代的吧!
      

  3.   

    遍历myMenu.key根据key就能拿到value另外el确实不能嵌套