二维arraylist与c:foreach jstl标签

时间:2011-05-31 12:55:30

标签: jsp jstl el

我在两个叠加的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]后面的任何维度的值

如果您有任何想法可以解决我的问题,那将会很有帮助。

2 个答案:

答案 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>