Доступ к элементу по индексу с помощью команды forEach - PullRequest
0 голосов
/ 13 декабря 2011

я хочу получить доступ к значению по индексу , потому что мне нужно зациклить половину списка и отобразить значение в двух столбцах ... поэтому мне нужно будет использовать значение индекса + x

<c:forEach var="endValue" items="${endValue.list}" end="${lngth-1}" varStatus="status">
    <c:out value="${endValue.list[status.index+5].id}"/>
</c:forEach>

недопустимое значение тега отображения

Редактировать:

//controler
@ModelAttribute("endValue")
public EndValueListWrapper populateDataList() {
    final EndValueListWrapper listForm = new EndValueListWrapper();
    ...
    return listForm
}

public class EndValueListWrapper {

   private List<EndValueForm> list;

   // get and set for this list
}

public class EndValueForm{
   private Strind id
   ...
}

1 Ответ

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

Я почти уверен, что это не сработает, как вы ожидаете.Проверьте ссылку на библиотеку тегов JSTL .endValue - это отдельный экземпляр внутри коллекции элементов, поэтому пытаться выполнить итерации по endValue.list и вызывать каждый экземпляр в этой коллекции endValue не имеет смысла.Где определяется lngth?Вам даже не нужно явно указывать end, если вы собираетесь использовать длину -1.

<c:forEach items="${teams}" varStatus="status">
   <c:set var="desiredTeam" value="${teams[status.index+5]}" /> 
   <c:out value="${desiredTeam.id}"/>
</c:forEach>

... или что-то подобное.

...