如何在jsp页面上从map获取第一个元素? Java代码:
Map<Long,MyObject> map = ......
model.addAttribute("statuses", map);
JSP代码:
<c:set var="myvalue" value="${statuses[0].value.myfield}"/> //error
<c:forEach var="status" items="${statuses}">
....
</c:forEach>
如何让第一个元素成为循环forEach?
答案 0 :(得分:0)
我建议您在Java代码中进行修改而不是在JSP中进行修改,这被认为不是一个好主意,因为它会使您的JSP难以操作。如果您可以控制Java代码,则更容易。
在Java中:
model.addAttribute("status", map.get(0));
JSP:
<c:set var="myvalue" value="${status.myfield}"/>
答案 1 :(得分:0)
尝试使用它将元素放入模型中:
model.put("statuses", map);
并在jsp中检索数据:
<c:set var="myvalue" value="${statuses[0].myfield}"/>
答案 2 :(得分:0)
如果要在地图中保持顺序,请使用TreeMap而不是HashMap。他们可以通过get(0)获得第一个元素;
答案 3 :(得分:0)
我们可以使用varStatus
来识别地图中的第一个元素。
<c:forEach var="status" items="${statuses}" varStatus="_status" >
<c:if test="${_status.count eq 1}">
<c:set var="firstElement" value="${status}"></c:set> // Assigns the first element
</c:if>
</c:forEach>
希望这会有所帮助..