2015-09-04 88 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