我在两个叠加的JSTL <c:forEach>
中使用了二维arraylist:
<select multiple size="30">
<c:forEach var="uri" items="${defaultResult}" varStatus="iterator">
<c:forEach var="cate" items="${defaultResult[iterator.index]}">
<option value="${defaultResult[iterator.index][0]}"> ${cate}[1]</option>
</c:forEach>
</c:forEach>
</select>
但是索引似乎不起作用,例如${cate}[1]
返回的值都是[1]
后面的任何维度的值
如果您有任何想法可以解决我的问题,那将会很有帮助。
答案 0 :(得分:5)
它需要进入表达式,而不是在外面。
${cate[1]}
顺便问一下,为什么不直接访问第一个循环的var
?
<c:forEach var="uri" items="${defaultResult}">
<c:forEach var="cate" items="${uri}">
<option value="${uri[0]}">${cate[1]}</option>
</c:forEach>
</c:forEach>
答案 1 :(得分:1)
它对我有用:
.java:
private int[][] childAges; // [room][child] = age
.....
的.jsp:
<c:forEach var="childAge" items="${childAges}" >
<c:forEach var="age" items="${childAge}" >
${age}
</c:forEach>
</c:forEach>