2014-06-09 19 views
5

Tôi phải bị mù hoặc sử dụng cụm từ tìm kiếm sai vì tôi không thể tìm thấy câu trả lời hay về điều này.Làm cách nào để truy cập thuộc tính cha mẹ trong Tệp Thẻ JSP lồng nhau?

Tôi có hai tệp thẻ JPS tùy chỉnh. Một cái sẽ được lồng trong cái kia. Làm thế nào tôi có thể truy cập một thuộc tính trong thẻ cha từ bên trong thẻ con?

Một giải pháp khác là thêm một biến để yêu cầu phạm vi, nhưng tôi không yêu tùy chọn này và có thể gây ra một số sự cố. Có một lựa chọn đơn giản hơn không?

Cảm ơn!

<%-- 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

Không có người vẽ? Đây có phải là một câu hỏi ngớ ngẩn không? Có vẻ như nó nên đơn giản như vậy. Tôi nghĩ rằng nó sẽ được trả lời trong vòng 15 phút. lol – user3311662

Trả lời

0

Điều bạn đang cố gắng làm ở đây là hoàn toàn hợp lý - và rằng thẻ tùy chỉnh và tệp thẻ nào sẽ cho phép chúng tôi đạt được. Hành vi này được thực hiện dựa trên - và đã được sửa trên Apache see here. Bạn đang sử dụng loại container nào? Tôi đã gặp phải vấn đề tương tự trong Jetty và đã đệ trình một lỗi khác đã được ghi nhận nhưng chưa được giải quyết.

-1

Bạn có thể tìm thấy thẻ cha mẹ của bạn sử dụng:

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

Sau đó, bạn có thể có phương pháp nào trên phụ huynh các em có thể sử dụng để tương tác với nó.

Hãy xem URL này để biết thêm chi tiết: http://www.informit.com/articles/article.aspx?p=26119&seqNum=9

+0

Tính năng này chỉ hoạt động cho các thẻ tùy chỉnh chính thức, không phải các tệp thẻ mà OP đang sử dụng hoặc hỏi. – marc82ch

Các vấn đề liên quan