【问题标题】:el expression in jsp:invokejsp:invoke中的el表达式
【发布时间】:2009-02-13 09:04:20
【问题描述】:

我正在尝试在我的标记文件中使用以下 sn-p:

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

编译器给我以下错误:

Syntax error, insert ") Statement" to complete IfStatement

据我了解,不允许在片段属性中使用 el 表达式。有人可以指出我在规范中的这个限制吗?或者如果我在运行时计算的片段名称,请给出如何调用片段内容的建议

【问题讨论】:

    标签: java jsp invoke


    【解决方案1】:

    从技术上来说,fragment 属性并不是一个 rtexprvalue,这可以从 schema 中看出;这意味着它是在编译时评估的。

    对于您要实现的目标,实际上只有一组非常有限的用例。很可能你想为一个标签文件提供多个片段,并让一些条件决定输出哪个标签。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      • 2013-03-20
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多