JSTL中怎么遍历获取MAP 的键 和值

暴走的五花肉
  • 63

JSTL中怎么遍历获取MAP 的键 和值

    List<Record>rolelist = RoleModel.roleDao.getRolelist();
    List<Map<String, String>>rolesMap = new ArrayList<Map<String, String>>();
    for(Record role : rolelist){
        Map<String, String> map=new HashMap<String,String>();
        map.put(role.getStr("r_name"), ","+role.getStr("role_id")+",");
        rolesMap.add(map);        
    }
    System.out.println(rolesMap.size());
    setAttr("maplist", rolesMap);
    setAttr("flowstep", flowstep);

前台遍历取不到(entry.key和entry.value取不到要怎么取啊)
<c:forEach items="${maplist}" var="entry">

    <span>
       <input type="checkbox" name="role_id" value="${entry.value}" class="rids"/>    
       <span>${entry.key}</span>
    </span>

</c:forEach>

回复
阅读 3.7k
1 个回答

maplist(rolesMap)是List套Map,所以<c:forEach>也要套两层:

<c:forEach items="${maplist}" var="map">
    <c:forEach items="${map}" var="entry">
        <span>
           <input type="checkbox" name="role_id" value="${entry.value}" class="rids"/>    
           <span>${entry.key}</span>
        </span>
    </c:forEach>
</c:forEach>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏