2014-06-09 18 views
5

Kör olmalı ya da yanlış arama terimlerini kullanmalıyım çünkü bu konuda iyi bir yanıt bulamıyorum.Yuvalanmış bir JSP Etiket Dosyası'nda ebeveyn niteliğine nasıl erişilir?

İki adet özel JPS etiketi dosyam var. Biri diğerinin içine yerleştirilecek. Alt etiketin içindeki bir özniteliğe alt etiketin içinden nasıl erişebilirim?

Tek çözüm, istek kapsamına değişken eklemek, ancak bu seçeneği sevmiyorum ve bazı sorunlara neden olabilir. Daha basit bir seçenek var mı?

Teşekkürler!

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

yok girenlerin? Bu aptal bir soru muydu? Çok basit olmalı gibi görünüyor. 15 dakika içinde cevap verileceğini düşündüm. lol – user3311662

cevap

0

Burada yaptığınız şey mükemmel bir şekilde mantıklıdır - ve özel etiketlerin ve etiket dosyalarının elde etmemize izin vermesi gerekir. Bu davranış, uygulamaya dayalıdır ve Apache see here'da giderilmiştir. Hangi konteyner kullanıyorsunuz? Jetty'de benzer bir soruna girdim ve kabul edilen ancak henüz ele alınmayan bir başka hata yaptım.

-1

Sen kullanarak üst etiketi bulabilirsiniz:

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

Sonra, onunla etkileşime çocuklar kullanabilirsiniz ebeveyn üzerinde genel yöntemleri olabilir.

daha detaylı bilgi için bu URL'ye bir göz atın: http://www.informit.com/articles/article.aspx?p=26119&seqNum=9

+0

Bu, yalnızca tam teşekküllü özel etiketler için çalışır, OP'in kullandığı veya sorduğu dosyaları etiketlemez. – marc82ch