【问题标题】:Custom tag that evaluates its body based on the variables of the tag根据标签的变量评估其主体的自定义标签
【发布时间】:2015-11-30 23:44:37
【问题描述】:

好的,现在我猜这是为核心 JSTL 向导准备的东西 ;-)

我想要一个标签,其正文不能替代周围页面的变量。它应该只考虑在标签正文或标签本身中指定的变量,如下所示:

<c:set var="outsideVar" value="outside value"/>
<a:component>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
    <div data-component-id="9">
        <c:set var="componentId" value="9"/>
        <c:set var="path" value='${abc:getCurrentPath()}_${componentId}'/>
        <c:set var="resource" value='${abc:getResourceFromPath(path)}'/>
        <c:set var="val" value="${resource.getValue('paragraphValue')"/>
        <p>${fn:escapeXml(val)}</p>    
        ${outsideVar}
    </div>
</a:component>

不应设置outsideVar 变量,并且标签正文的行为应类似于&lt;jsp:include/&gt; 的内容

这是一个更具体的问题: Is it possible to create a local page scope in a JSP? 该链接还解释了这个问题的背景。

【问题讨论】:

    标签: java jsp servlets jstl el


    【解决方案1】:

    您的自定义标签可以在评估正文之前抓取并删除所有页面属性,然后清除并恢复。

    【讨论】:

    • 是的,它有效!多么酷啊!这是一个简单的解决方案,不知何故并没有让我想到。感谢您花时间回答我的问题!我用自定义标签的源代码更新了你的答案。
    猜你喜欢
    • 2015-02-28
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    相关资源
    最近更新 更多