簡體   English   中英

jsp:invoke中的el表達式

[英]el expression in jsp:invoke

我正在嘗試在我的標記文件中使用以下代碼段:

<%@ attribute name="content" fragment="true"%>
...
<c:set var="part" value="content"/>
<jsp:invoke fragment="${part}" var="partValue"/>
...

編譯器給我以下錯誤:

Syntax error, insert ") Statement" to complete IfStatement

因此,據我了解,不允許在fragment屬性中使用el表達式。 有人可以指出我的規格限制嗎? 或者給出建議,如果我在運行時計算出片段的名稱,則如何調用片段的內容

從技術上講,fragment屬性不是rtexprvalue,可以從模式中看到它。 這意味着它是在編譯時評估的。

實際上,您要實現的用例只有非常有限的一組。 您很可能希望向標簽文件提供多個片段,並讓一些條件決定要輸出哪個標簽。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM