I feel that
the current behavior violates the principle of least surprise (both
Lincoln and I were surprised) and also breaks encapsulation (ie.
introduces implementation-specific dependencies).
<composite:implementation> <!-- 1. Expression directly in the implementation --> <h:outputText value="#{cc.attrs.value}"> <!-- 2. Expression in non-composite component facet --> <bar:someJavaComposite> <f:facet name="someFacet"> <h:outputText value="#{cc.attrs.value}"> </f:facet> </bar:someJavaComponent> <!-- 3. Expression in composite component facet --> <foo:someCompositeComponent> <f:facet name="someFacet"> <h:outputText value="#{cc.attrs.value}"> </f:facet> </foo:someCompositeComponent>
<!-- 4. Expression in composite component attribute -->
</composite:implementation>
-- Lincoln Baxter, III Co-Founder of OcpSoft Author of PrettyFaces URL Rewriting for JSF |