在JSTL中如何在此循环中访问另一个带索引的var
<c:set var="cmbIndex" value="${TXTTITLE}"> </c:set> this variable have 1,6,3....
<c:forEach var="item" items="${HDNNAMEANDID}" varStatus="row">
<option value='<c:out value="${cmbIndex[row.index]}"/>'>${item}</option>
</c:forEach>
它给出了错误
答案 0 :(得分:1)
你应该能够在没有c:out的情况下访问它。 TXTTITLE也是什么类型的收藏品?如果一个数组应该工作:
<c:set var="cmbIndex" value="${TXTTITLE}"> </c:set>
<c:forEach var="item" items="${HDNNAMEANDID}" varStatus="row">
<option value='${cmbIndex[row.index]}'> ${item}</option>
</c:forEach>
如果是列表类型集合:
<c:set var="cmbIndex" value="${TXTTITLE}"> </c:set>
<c:forEach var="item" items="${HDNNAMEANDID}" varStatus="row">
<option value='${cmbIndex.get(row.index)}'> ${item}</option>
</c:forEach>
您也可以直接访问:
<option value='${TXTTITLE[row.index]}'> ${item}</option>
// OR
<option value='${TXTTITLE.get(row.index)}'> ${item}</option>
鉴于TXTTITLE是逗号分隔值,如果您尝试通过逗号分隔列表中的数字位置来访问它,我将使用split()并将其转换为String数组:
<c:set var="cmbIndex" value="${TXTTITLE.split(',')}"> </c:set>
...
<option value='${cmbIndex[row.index]}'> ${item}</option>