2015-09-04 82 views
0

好变量,评估其身定制的标签,现在这是后话了硬核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/>

此内容是这样的一个更具体的问题: Is it possible to create a local page scope in a JSP? 的联系也说明了这个问题的背景。

回答

1

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

+0

是的,它的工作原理!多么酷啊!这是一个简单的解决方案,不知怎的,我没有想过。感谢您的时间与我的问题!我用自定义标签的源代码更新了您的答案。 – Sandro