cc
относится к составному компоненту верхнего уровня, который обрабатывается во время оценки.
component
- это просто обрабатываемый компонент пользовательского интерфейса.
Таким образом, когда внутри составного компонента, cc
относится к «родительскому» компоненту, тогда как component
при использовании в отдельном компоненте относится к этому конкретному экземпляру. Или для простых случаев:
cc
== component.getCompositeComponentParent(component)
, причем компонент является компонентом, из которого построен составной компонент.
например. рассмотрим следующий составной компонент:
<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="Own ID: #{component.id}, parent composite ID: #{cc.id}" /> <br/>
<h:outputText value="Own ID: #{component.id}, parent composite ID: #{cc.id}" />
</cc:implementation>
</html>
При использовании этого на Facelet будут напечатаны 2 разных «собственных» идентификатора, а именно два компонента outputText, в то время как составной идентификатор будет одинаковым в обеих строках.
Обратите внимание, что все может стать немного сложнее, когда задействовано несколько вложений составных компонентов.