La expresión básica que está buscando es el siguiente:
#{cc.childCount}
o más elaboradamente:
#{component.getCompositeComponentParent(component).childCount}
P. ej el siguiente componente compuesto:
<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>
utilizado en la siguiente 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>
imprimirá Children: 2
.
Por lo tanto, #{cc.childCount != 0}
le dirá si un componente compuesto tiene hijos o no.
'cc.childCount' solo le da la respuesta correcta, si no utiliza' 'en la implementación compuesta. –
squallsv
Esto no responde la pregunta per se. Dado que quería el recuento de ' ' como lo señala @squallsv. Consulte las observaciones de wentwog, Brian Leatham o de mí sobre cómo obtener el conteo cuando se usa esta etiqueta. –
@JohnYeary tienes razón. Gracias a todos por enviar estas respuestas. Aunque la pregunta es técnicamente un poco ambiciosa (op optaron por "los niños del componente"), es más lógico que los niños insertados por ' ' hayan sido designados. –