我被赋予了重构JSP项目的任务,而我上一次为JSP编写代码是在2005年,那时我们使用了更多的scriptlet,并且-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}]"
)
我不知道还能尝试什么。
UPDATE
项目的web.xml说<web-app version="3.0">
。
发现它:
<c:forEach var="phase" items="${[value.prepphase, value.initphase, value.legalphase, value.auctionphase, value.analysisphase]}">
...
</c:forEach>