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

Reply via email to