Spring JSTL: как получить доступ к произвольным полям внутри итерации объекта - PullRequest
0 голосов
/ 24 октября 2011

Я пишу файл .tagx, чтобы вывести список объектов в таблице со столбцами, выбранными пользователем.

К тому времени, как я сюда попал, у меня есть ${items}, чтосодержит мой список объектов базы данных и ${columns}, который содержит список имен полей, которые соответствуют именам полей содержимого ${items}.

Я пытаюсь сделать:

<table>
  <c:forEach var="item" items="${items}" >
    <tr>
      <c:forEach var="column" items="${columns}">
        <td><!-- What should go here? --></td>
      </c:forEach>
    </tr>
  </c:forEach>
</table>

${item.column} получает жалобу на то, что в элементе нет поля с именем column.Что верно.

Установка ${item.${column}} дает синтаксическую ошибку (недопустимый символ '{').

Надпись «ASDF» правильно показывает, что столбцы хорошо выстроены и в них вставлены фиктивные данные.Так что это буквально все, кроме доступа к произвольному полю элемента, который мы повторяем.

1 Ответ

2 голосов
/ 24 октября 2011

Используйте ${item[column]}. И не забудьте правильно экранировать HTML, используя <c:out>.

...