我的servlet中有一个TreeMap,并按如下方式填充:
Map<Integer, ClockTrans> ctsDictionary = new TreeMap<Integer, ClockTrans>();
ClockTrans cts = null;
for (int i = 0; i < ctsArr.length; i++) {
cts = ctsArr[i];
ctsDictionary.put(i, cts);
}
然后在我的JSP中,我需要显示前一个,当前和下一个/即将到来的迭代值的值。为简单起见,在下面的代码中,我删除了第一行和最后一行的检查,以避免索引超出范围错误。但我主要担心的是我使用“status.index + 1”来预读下一个迭代值不起作用的部分。读取上一个和下一个值的正确语法是什么?
<c:forEach items="${ctsDictionary}" var="cts" varStatus="status">
<tr>
<td align="center">
PREV: <c:out value='${cts[status.index-1].value.clock_no}'/>
CURR: <c:out value='${cts.value.clock_no}'/>
NEXT: <c:out value='${cts[status.index+1].value.clock_no}'/>
</td>
</tr>
</c:forEach>
答案 0 :(得分:1)
我之前没有使用过此功能,但我猜您需要使用${ctsDictionary[status.index-1]
代替${cts[status.index-1]
,因为cts只是当前项目。