Java jsp中的el表达式:invoke

Java jsp中的el表达式:invoke,java,jsp,invoke,Java,Jsp,Invoke,我试图在标记文件中使用以下代码段: <%@ attribute name="content" fragment="true"%> ... <c:set var="part" value="content"/> <jsp:invoke fragment="${part}" var="partValue"/> ... 所以据我所知,不允许在片段属性中使用el表达式。有人能给我指出规范中的这个限制吗?或者给出如何调用片段内容的建议,如果我在运行时计算的片段名称从技

我试图在标记文件中使用以下代码段:

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

所以据我所知,不允许在片段属性中使用el表达式。有人能给我指出规范中的这个限制吗?或者给出如何调用片段内容的建议,如果我在运行时计算的片段名称从技术上讲,片段属性不是rtexprvalue,这可以从模式中看到;这意味着它是在编译时计算的

对于您试图实现的目标,实际上只有一组非常有限的用例。最有可能的情况是,您希望向一个标记文件提供多个片段,并让某些条件决定输出哪个标记

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

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