2009-02-13 63 views
2

我試圖用我的標記文件中下面的代碼片段:EL表達式在JSP:調用

​​

和編譯器給了我以下錯誤:

Syntax error, insert ") Statement" to complete IfStatement 

所以我的理解是不允許在片段屬性中使用el表達式。有人可以指出我在規範中的這個限制嗎?或給出建議如何IF段的名字,我在運行時

回答

1

技術上計算調用片段的內容片斷屬性不是rtexprvalue,可以從架構中可以看出;這意味着它在編譯時被評估。

實在是隻爲你想達到什麼樣的一個非常有限的使用情況。您很可能想要爲標記文件提供多個片段,並讓一些條件決定輸出哪個標記。

<c:choose> 
    <c:when test="${condition1}"><jsp:invoke fragment="frag1"/></c:when> 
    <c:otherwise><jsp:invoke fragment="frag2"/></c:otherwise> 
</c:choose>