循环时在JSP视图中跳过最后一个TreeMap元素

时间:2017-02-28 09:58:15

标签: jsp jstl treemap

我在modelview对象中传递一个TreeMap对象。问题是在使用JSP中的JSTL代码循环遍历映射时,最后一个元素被跳过。因此,例如,如果我在地图中传递93个元素,则只能看到92个值。我调试代码以检查运行时中的JSP变量headerMap内容并找到所有值,但在JSP中它不会打印最后一个元素。任何人都可以突出显示这里的错误。

<c:forEach items="${headerMap}" var="header" varStatus="headerIndex">
    <th class="admin-search-result-th">${headerMap[headerIndex.index]}</th>
</c:forEach>

1 个答案:

答案 0 :(得分:1)

如果您正在迭代地图,那么您只需要

<c:forEach items="${headerMap}" var="header">
    <th class="admin-search-result-th">${header.value}</th> 
</c:forEach>

以您已完成的方式访问地图

  

$ {headerMap [headerIndex.index]}

实际上会获取与键对应的Map中的值。

${mapVariable['key']}从地图中获取与“键”对应的值。你在任何地方得到空(或空值)吗?假设你的密钥都是与索引相对应的int值,我怀疑其中一个密钥不符合这个标准,并且具有不同的值。

相关问题