Сначала я получаю Note
объекты на сервисном уровне:
List<Note> notes = this.getNotes();
Затем я передаю List
из Notes
слою вида и устанавливаю одинаковое начальное значение для prevNote
и currNote
для первого элемента List
:
<c:forEach items="${notes}" var="note" begin="0" end="1" step="1">
<c:set var="prevNote">${note}</c:set>
<c:set var="currNote">${note}</c:set>
</c:forEach>
Затем я перебираю List
и устанавливаю prevNote
на currNote
и currNote
на текущий элемент заметки (note
) из цикла:
<c:forEach items="${notes}" var="note">
<c:set var="prevNote">${currNote}</c:set>
<c:set var="currNote">${note}</c:set>
prev:<c:out value="${prevNote.userCode}"/>
curr:<c:out value="${currNote.userCode}"/>
</c:forEach>
Но когда я запускаю это, я получаю это сообщение об ошибке:
Unable to find a value for "note" in object of
class "java.lang.String" using operator ".
Что я хочу сделать здесь, это проверить, содержат ли prevNote
и currNote
одинаковое значение userCode
- если они хотят, я хочу пропустить текущий элемент в List
и отобразить следующий Note
с другим userCode
(что-то вроде имитации операции group-by
).
Любые советы о том, как это сделать и почему я получаю это сообщение об ошибке?