I had a similar issue. What I did was replace "t:updateActionListener property=" with the standardized "f:setPropertyActionListener target=". f:setPropertyActionListener better supports edge cases under Facelets as well.
Other than avoiding the one-time conversion cost of the page templates, there's no benefit to continuing to use t:updateActionListener. I used a regular expression in Eclipse to make the change, so it was pretty painless. On Tue, Dec 15, 2009 at 1:09 PM, Jakob Korherr <[email protected]> wrote: > Hi, > > The NullPointerException is raised in the following line: > > if (!type.equals(String.class) && ! type.equals(Object.class)) > > Thus type is null. > type is the result of calling getPropertyBinding().getType(facesContext), > which returns null in your case. > However, I don't know exactly why this returns null, but maybe this > clarification is the trigger for someone else, who knows it. > > Regards, > > Jakob Korherr > > > 2009/12/15 Michael Heinen <[email protected]> > >> Hi, >> >> >> >> I am still working on my update from JSF 1.1 to 1.2. >> >> >> >> Now Buttons using a t:updateActionListener are not working anymore due to a >> >> java.lang.NullPointerException >> >> at >> org.apache.myfaces.custom.updateactionlistener.UpdateActionListener.processAction(UpdateActionListener.java:137) >> >> >> >> The buttons are working with the 1.1 compliant libs. >> >> The buttons are working without t:updateActionListener. >> >> >> >> Complete Stack: >> >> javax.faces.FacesException: Exception while calling broadcast on component >> : {Component-Path : [Class: org.ajax4jsf.component.AjaxViewRoot,ViewId: >> /batches.jsp][Class: org.apache.myfaces.custom.document.Document,Id: >> j_id_jsp_1727476414_3][Class: >> org.apache.myfaces.custom.document.DocumentBody,Id: >> j_id_jsp_1727476414_7][Class: org.apache.myfaces.custom.div.Div,Id: >> content][Class: org.apache.myfaces.custom.div.Div,Id: batches][Class: >> javax.faces.component.html.HtmlForm,Id: batchesForm][Class: >> org.apache.myfaces.custom.div.Div,Id: batchlist][Class: >> org.apache.myfaces.custom.datalist.HtmlDataList,Id: >> j_id_jsp_1874425695_8][Class: org.apache.myfaces.custom.div.Div,Id: >> j_id_jsp_1874425695_9][Class: org.apache.myfaces.custom.div.Div,Id: >> openBatchBox][Class: >> org.apache.myfaces.component.html.ext.HtmlCommandButton,Id: batchSelectCmd]} >> >> at >> javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:562) >> >> at >> javax.faces.component.UICommand.broadcast(UICommand.java:110) >> >> at javax.faces.component.UIData.broadcast(UIData.java:721) >> >> at >> org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:324) >> >> at >> org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:299) >> >> at >> org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:256) >> >> at >> org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:412) >> >> at >> org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:32) >> >> at >> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103) >> >> at >> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76) >> >> at >> org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.execute(PPRLifecycleWrapper.java:68) >> >> at >> javax.faces.webapp.FacesServlet.service(FacesServlet.java:178) >> >> at >> com.recommind.xxx..servlets.FacesServletWrapper.service(FacesServletWrapper.java:123) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> at >> org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) >> >> at >> org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) >> >> at >> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) >> >> at >> org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> at >> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:384) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> at >> com.recommind.xxx.filters.LoginFilter.doFilter(LoginFilter.java:193) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> at >> com.recommind.xxx.filters.EncodingFilter.doFilter(EncodingFilter.java:49) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> at >> com.recommind.xxx.filters.TimerFilter.doFilter(TimerFilter.java:71) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >> >> at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >> >> at >> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) >> >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) >> >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >> >> at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >> >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) >> >> at >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) >> >> at >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) >> >> at >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) >> >> at java.lang.Thread.run(Thread.java:619) >> >> Caused by: java.lang.NullPointerException >> >> at >> org.apache.myfaces.custom.updateactionlistener.UpdateActionListener.processAction(UpdateActionListener.java:137) >> >> at >> javax.faces.event.ActionEvent.processListener(ActionEvent.java:51) >> >> at >> javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:554) >> >> ... 43 more >> >> Cause: >> >> java.lang.NullPointerException >> >> at >> org.apache.myfaces.custom.updateactionlistener.UpdateActionListener.processAction(UpdateActionListener.java:137) >> >> at >> javax.faces.event.ActionEvent.processListener(ActionEvent.java:51) >> >> at >> javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:554) >> >> at >> javax.faces.component.UICommand.broadcast(UICommand.java:110) >> >> at javax.faces.component.UIData.broadcast(UIData.java:721) >> >> at >> org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:324) >> >> at >> org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:299) >> >> at >> org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:256) >> >> at >> org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:412) >> >> at >> org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:32) >> >> at >> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103) >> >> at >> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76) >> >> at >> org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.execute(PPRLifecycleWrapper.java:68) >> >> at >> javax.faces.webapp.FacesServlet.service(FacesServlet.java:178) >> >> at >> com.recommind.xxx.servlets.FacesServletWrapper.service(FacesServletWrapper.java:123) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> at >> org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) >> >> at >> org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) >> >> at >> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) >> >> at >> org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> at >> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:384) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> at >> com.recommind.xxx.filters.LoginFilter.doFilter(LoginFilter.java:193) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> at >> com.recommind.xxx.client.web.filters.EncodingFilter.doFilter(EncodingFilter.java:49) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> at >> com.recommind.xxx.filters.TimerFilter.doFilter(TimerFilter.java:71) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >> >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >> >> at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >> >> at >> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) >> >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) >> >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >> >> at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >> >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) >> >> at >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) >> >> at >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) >> >> at >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) >> >> at java.lang.Thread.run(Thread.java:619) >> >> >> >> >> >> Sample jsp snippet: >> >> <t:dataList var="batch" >> >> value="#{MyController1.myList}” …> >> >> <t:commandButton id="batchSelectCmd" forceId="true" >> >> immediate="true" >> >> action="#{MyController12.search}" >> >> value="foo" >> >> disabled="#{empty >> batch.attributes['reviewState'][0]}" >> >> ... > >> >> <t:updateActionListener >> property="#{requestScope['selectedBatch']}" value="#{batch.value}"/> >> >> </t:commandButton> >> >> </t:dataList> >> >> >> >> Updated Libs: >> >> myFaces from 1.1.6 to 1.2.8 >> >> tomahawk from 1.1.7 to tomahawk12-1.1.9 >> >> tomhahawk sandbox from 1.1.7 to 1.1.9 >> >> richfaces from 3.1.5 to 3.3.2 (api,impl and ui) >> >> tiles from 1 to 2.0.5 >> >> >> >> Any ideas? >> >> Michael >> >> >> >> >> >> [image: cid:[email protected]] >> >> *Michael Heinen* >> Senior Software Engineer >> >> Recommind GmbH >> Tel: +49 (0) 2226 1596620 >> >> Email: [email protected] >> >> >> >> Recommind GmbH, Vertretungsberechtigter Geschäftsführer Hartwig Laute, >> Registergericht Amtsgericht Bonn, Registernummer HRB 10646 >> >> >> >> *This e-mail may contain confidential and/or privileged information. If >> you are not the intended recipient (or have received this e-mail in error) >> please notify the sender immediately and destroy this e-mail. Any >> unauthorised copying, disclosure or distribution of the material in this >> e-mail is strictly forbidden.* >> >> * * >> >> *Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte >> Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail >> irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und >> vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte >> Weitergabe dieser Mail ist nicht gestattet.* >> >> >> >

