2014-06-09 17 views
5

나는 이것에 대해 좋은 답변을 찾을 수 없으므로 장님이거나 잘못된 검색어를 사용해야합니다.중첩 된 JSP 태그 파일에서 parent 속성에 액세스하는 방법은 무엇입니까?

두 개의 사용자 정의 JPS 태그 파일이 있습니다. 하나는 다른 하나 내에 중첩됩니다. 하위 태그 내부에서 상위 태그의 속성에 액세스하려면 어떻게해야합니까?

하나의 해결 방법은 범위를 요청하기 위해 변수를 추가하는 것입니다. 그러나이 옵션을 좋아하지 않을 경우 몇 가지 문제가 발생할 수 있습니다. 좀 더 간단한 옵션이 있습니까?

감사합니다.

<%-- OuterTag.tag --%> 
-------------------------------------- 
<%@tag %> 
<%@attribute name="color" required="true" %> 
<c:set var="color" value="${color}" scope="request" /> <%-- I'm trying to avoid doing this --%> 
<div> 
    <jsp:doBody/> 
</div> 


<%-- InnerTag.tag --%> 
-------------------------------------- 
<%@tag %> 
<p style="background-color: ${parent.color}"/> <%-- I want to do something like this --%> 



<%-- Example Usage --%> 
-------------------------------------- 
<custom:OuterTag color="red"> 
    <custom:InnerTag/> 
    <custom:InnerTag/> 
    <custom:InnerTag/> 
</custom:OuterTag> 
+0

수취인이 없습니까? 이것은 바보 같은 질문 이었습니까? 그렇게 단순해야하는 것처럼 보입니다. 나는 그것이 15 분 이내에 대답 될 것이라고 생각했다. lol – user3311662

답변

0

여기서 수행하려는 작업은 완벽하게 논리적이며 사용자 정의 태그 및 태그 파일을 통해 달성 할 수 있어야합니다. 이 동작은 구현 기반이며 Apache see here에서 수정되었습니다. 어떤 용기를 사용하고 있습니까? 나는 Jetty에서 비슷한 문제를 겪었고, 인정되었지만 아직 해결되지 않은 다른 버그를 제기했다.

-1

당신은 사용하여 부모 태그를 찾을 수 있습니다

ParentTag parent = (ParentTag)findAncestorWithClass(this, ParentTag.class); 

다음, 당신은 그것과 상호 작용하는 아이들이 사용할 수있는 부모에 공개 방법을 가질 수 있습니다.

자세한 내용은 다음 URL을 참조하십시오. http://www.informit.com/articles/article.aspx?p=26119&seqNum=9

+0

이것은 OP가 사용 중이거나 요청하는 태그 파일이 아닌 본격적인 사용자 정의 태그에만 작동합니다. – marc82ch