L'espressione fondamentale che cercate è la seguente:
#{cc.childCount}
o più elaborato:
#{component.getCompositeComponentParent(component).childCount}
Ad es il seguente componente composito:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:cc="http://java.sun.com/jsf/composite"
>
<cc:interface/>
<cc:implementation>
<h:outputText value="Children: #{cc.childCount}" />
</cc:implementation>
</html>
utilizzato sui seguenti facelet:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:test="http://java.sun.com/jsf/composite/test"
>
<h:body>
<test:myCom>
<h:outputText value="first child" />
<h:outputText value="second child" />
</test:myCom>
</h:body>
</html>
stamperà Children: 2
.
Così #{cc.childCount != 0}
dirà se un componente composito ha figli o no.
fonte
2011-02-13 08:39:21
'cc.childCount 'fornisce solo la risposta corretta, se non si utilizza' 'nell'implementazione composita. –
squallsv
Questo non risponde alla domanda di per sé. Dal momento che voleva il conteggio di ' ' come notato da @squallsv Si prega di vedere le osservazioni di wentwog, Brian Leatham o me su come ottenere il conteggio quando questo tag viene usato. –
@JohnYeary hai ragione. Grazie a tutti voi per aver inviato quelle risposte. Sebbene la domanda sia tecnicamente un po 'ambiziosa (op ha chiesto "i figli del componente") è in effetti più logico che i bambini inseriti da " " fossero pensati. –