一尘不染

基于标签变量评估其主体的自定义标签

jsp

好的,现在这是我猜想的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不应设置该变量,并且标记的主体的行为应类似于<jsp:include/>

这是一个更具体的问题:是否可以在JSP中创建本地页面范围? 该链接还说明了此问题的背景。


阅读 204

收藏
2020-06-10

共1个答案

一尘不染

您的自定义标签可以在评估正文之前捕获和删除所有页面属性,然后清除并还原。

2020-06-10