It seems mojarra guys finally applied the patch sent by myself long time ago about resolve #
{cc.attrs.action}
. I never thought they will apply it on 2.0.x/2.1.x branches, because this is not documented anywhere on the spec.
The good news is the alternative using "targets" property works on MyFaces as discussed previously on the EG:
<composite:interface>
<composite:attribute name="action" required="true" method-signature="java.lang.Object action()" targets="button"/>
<composite:attribute name="value" required="true" />
</composite:interface>
<composite:implementation>
<h:commandButton id="button" value="#
{cc.attrs.value}
" styleClass="justificationForMyExistence" />
</composite:implementation>
In theory, in JSF 2.1 a new attribute on <cc:attribute> was added called targetAttributeName to complete the solution using "targets". But I never ported the other alternative to myfaces, because both algorithm are very different in this part.
The big problem is how to deal when nested EL expressions are used. It is not simple, because you have to "chain" the expressions.
This issue is not considered a bug, instead it is an improvement proposed from MyFaces side.
test project demonstrating the problem. Works on mojarra.