Hi!
In UIComponentTagUtils the "Void"-check for the return-type of the
listener cant be evaluated e.g. within an dataTable - or any other
component using a var= attribute.
This is due to the fact that the var= attribute hasnt processed so far
and thus the getType() cant find the method (base is null)
javax.faces.el.EvaluationException: Cannot get type for expression
#{newPrm.changeFieldEnabledListener}
at
org.apache.myfaces.el.MethodBindingImpl.getType(MethodBindingImpl.java:101)
at
org.apache.myfaces.taglib.UIComponentTagUtils.setValueChangedListenerProperty(UIComponentTagUtils.java:318)
at
org.apache.myfaces.taglib.UIComponentTagBase.setValueChangedListenerProperty(UIComponentTagBase.java:187)
at
org.apache.myfaces.taglib.html.HtmlInputTagBase.setProperties(HtmlInputTagBase.java:60)
at
org.apache.myfaces.taglib.html.HtmlSelectMenuTagBase.setProperties(HtmlSelectMenuTagBase.java:87)
at
javax.faces.webapp.UIComponentTag.findComponent(UIComponentTag.java:574)
at
javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:312)
at
What to do now?
I think the first thing to do is to remove these checks, later we can
find a better approach.
I guess the check can only be done when it will be fired (if possible
then) as the var= will only be available during encoding or decoding the
component.
---
Mario