[
https://issues.apache.org/jira/browse/MYFACES-2553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833253#action_12833253
]
Leonardo Uribe commented on MYFACES-2553:
-----------------------------------------
It seems there is a misunderstanding about the javadoc. It says:
"....Otherwise, assume that the MethodExpression should be placed in the
components attribute set. The runtme must create the MethodExpression instance
based on the value of the "method-signature" attribute....."
It has sense the related component attribute set is the one from the composite,
not the one pointed by targets property, because this property is only valid
for the previous four attributes.
Unfortunately, this does not solve the problem. Doing some tests, the code try
to find a method called move1to2, with base object as cc.attrs map. We can't do
anything from CompositeComponentELResolver because we don't have the property
that should be retrieved from the map, and the method is invoked internally.
It is clear we have to do something from before the original MethodExpression
created by the current ExpressionFactory invoked. Debugging the code from where
the event is invoked (UICommand.broadcast) the closest point is
org.apache.myfaces.view.facelets.el.TagMethodExpression. This class is created
from TagAttributeImpl.getMethodExpression() and wraps the original
MethodExpression. This is not going to be an easy workaround ......
Suggestions are welcome.
> Handle MethodExpressions on <composite:attribute> correctly
> -----------------------------------------------------------
>
> Key: MYFACES-2553
> URL: https://issues.apache.org/jira/browse/MYFACES-2553
> Project: MyFaces Core
> Issue Type: Bug
> Components: JSR-314
> Affects Versions: 2.0.0-beta-2
> Reporter: Jakob Korherr
> Assignee: Jakob Korherr
>
> There are currently problems when <composite:attribute> refers to a
> MethodExpression.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.