2009-02-10 44 views
1

有沒有在JSP 2.0/J2EE 1.4中使用類似延遲EL的方法?這個想法是將測試傳遞給標籤文件,並根據表達式的值在列表中顯示一個項目(或不顯示)。基本上,我想要做這樣的事情:JSP 2.0中的延遲EL

JSP:

<x:myTag items="${myCollection}" test="${item.visible}"/> 

myTag.tag

<c:forEach var="item" items="${collection}"> 
    <c:if test="${test}"> 
     ${item} 
    </c:if> 
</c:forEach> 

升級我們的JSP容器是不是一種選擇。有任何想法嗎?

更新:

我試着用JSP片段這樣做,但EL的片段在JSP評價一次,而不是每一次迭代的標籤。

回答

1

你應該可以用jsp fragments來做到這一點。我相信它不會是你會喜歡的極其優雅的解決方案,但它確實允許將表達式的執行推遲到標籤內部。

編輯: 您可以使用「名稱給定」設置查看variable

(我會欣然承認我做的東西你想大約2年前做的事情。我沒有因爲感動吧。我記得我認爲這是很神祕的)

+0

我試過JSP片段。查看問題的更新。 – 2009-02-10 21:15:08