我在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>
答案 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值,我怀疑其中一个密钥不符合这个标准,并且具有不同的值。