[richfaces-issues] [JBoss JIRA] Updated: (RF-11125) a4j:ajax listener method expression behaves differently for one or zero parameter methods

James G (JIRA) jira-events at lists.jboss.org
Wed Jul 13 23:01:23 EDT 2011


     [ https://issues.jboss.org/browse/RF-11125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James G updated RF-11125:
-------------------------

    Description: 
When using a4j:ajax and setting the listener to a bean method, the call works correctly if the bean method has one parameter of type AjaxBehaviorEvent.  If the method has no parameters then it may not be called correctly.  This situation occurs if the method expression uses a variable scoped in facelets.  For example using a ui:param under a ui:decorate.  The method expression for one parameter is created using a call to ExpressionFactory.createMethodExpression( faceletContext, ... ) but the method expression for zero parameters is created using ExpressionFactory.createMethodExpression( elContext, ... ).  The elContext does not contain the facelet variable mapping and so will not impart this to the method expression.  This needs to be refactored to pass in the faceletContext when creating the zero parameter method expression.


  was:
When using a4j:ajax and setting the listener to a bean method, the call works correctly if the bean method has one parameter of type AjaxBehaviorEvent.  If the method has no parameters then it may not be called correctly.  This situation occurs if the method expression uses a variable scoped in facelets.  For example using a ui:param under a ui:decorate.  The method expression for one parameter is created using a call to ExpressionFactory.createMethodExpression( faceletContext, ... ) but the method expression for zero parameters is created using ExpressionFactory.createMethodExpression( elContext, ... ).  The elContext does not contain the facelet variable mapping and so will not impart this to the method expression.  This needs to be refactory to pass in the faceletContext when creating the zero parameter method expression.




> a4j:ajax listener method expression behaves differently for one or zero parameter methods
> -----------------------------------------------------------------------------------------
>
>                 Key: RF-11125
>                 URL: https://issues.jboss.org/browse/RF-11125
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: component-a4j-core
>    Affects Versions: 4.0.0.Final
>         Environment: MyFace 2.0.7, Tomcat 6, Richfaces 4.0
>            Reporter: James G
>              Labels: a4j:ajax
>
> When using a4j:ajax and setting the listener to a bean method, the call works correctly if the bean method has one parameter of type AjaxBehaviorEvent.  If the method has no parameters then it may not be called correctly.  This situation occurs if the method expression uses a variable scoped in facelets.  For example using a ui:param under a ui:decorate.  The method expression for one parameter is created using a call to ExpressionFactory.createMethodExpression( faceletContext, ... ) but the method expression for zero parameters is created using ExpressionFactory.createMethodExpression( elContext, ... ).  The elContext does not contain the facelet variable mapping and so will not impart this to the method expression.  This needs to be refactored to pass in the faceletContext when creating the zero parameter method expression.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the richfaces-issues mailing list