JSTL для каждого цикла внутри доступа к другой переменной JSTL с индексом - PullRequest
0 голосов
/ 03 декабря 2011

В JSTL как получить доступ к другой переменной с индексом внутри этого цикла

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

выдает ошибку

1 Ответ

1 голос
/ 03 декабря 2011

Вы должны иметь доступ к нему без 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...