JSP EL Выражение для построения списка объектов - PullRequest
0 голосов
/ 23 марта 2020

Мне было дано задание реорганизовать проект JSP, и последний раз, когда я кодировал для JSP, был 2005 год, когда мы использовали гораздо больше скриплетов, и - AFAIK - не было языка выражений .

Текущий фрагмент страницы, с которым я сталкиваюсь, таков:

<c:if test="${value.prepphase.exists}">
<div>${value.prepphase.value.status}</div>
<div>${value.prepphase.value.eta}</div>
</c:if>

<c:if test="${value.initphase.exists}">
<div>${value.initphase.value.status}</div>
<div>${value.initphase.value.eta}</div>
</c:if>

<c:if test="${value.legalphase.exists}">
<div>${value.legalphase.value.status}</div>
<div>${value.legalphase.value.eta}</div>
</c:if>

<c:if test="${value.auctionphase.exists}">
<div>${value.auctionphase.value.status}</div>
<div>${value.auctionphase.value.eta}</div>
</c:if>

<c:if test="${value.analysisphase.exists}">
<div>${value.analysisphase.value.status}</div>
<div>${value.analysisphase.value.eta}</div>
</c:if>

Слишком много повторений, верно?

Мой план состоит в том, чтобы создать коллекцию (на самом деле список ) из value.prepphase, value.initphase, value.legalphase, value.auctionphase, value.analysisphase objetcs, а затем:

<c:forEach var="phase" items="${now how to build the list?!?!?!}">
<c:if test="${phase.exists}">
<div>${phase.value.status}</div>
<div>${phase.value.eta}</div>
</c:if>
</c:forEach>

Моя проблема: как построить список?

Я пробовал:

${java.util.Arrays.asList(value.prepphase, value.initphase, value.legalphase, value.auctionphase, value.analysisphase)}, но value недоступен;

[${value.prepphase}, ${value.initphase}, ${value.legalphase}, ${value.auctionphase}, ${value.analysisphase}], но это дает список из 5 строк ("[${value.prepphase}", "${value.initphase}" ... "${value.analysisphase}]")

Я не знаю что еще попробовать.

ОБНОВЛЕНИЕ

Сеть проекта. xml говорит <web-app version="3.0">.

1 Ответ

0 голосов
/ 23 марта 2020

Нашел:

<c:forEach var="phase" items="${[value.prepphase, value.initphase, value.legalphase, value.auctionphase, value.analysisphase]}">
...
</c:forEach>
...