problem with rich:FileUpload
milankoko Jun 11, 2008 6:33 AMI am having trouble with richfaces fileUpload component. When uploading should start it throws a null pointer exception and does nothing. I'm running richfaces on tomcat 6.0.16 alongside myfaces 1.2.3, tomahawk 1.1.6 and sandbox 1.1.7.
This is the error I get:
http-80-2 - ERROR [11 jun 2008 12:06:27,921] _ErrorPageWriter - An exception occurred javax.faces.FacesException: Exception while decoding component : {Component-Path : [Class: org.ajax4jsf.component.AjaxViewRoot,ViewId: /pages/retailers/placeAction.jsp][Class: javax.faces.component.html.HtmlForm,Id: inputForm][Class: javax.faces.component.html.HtmlPanelGrid,Id: j_id_jsp_1435835908_43][Class: org.richfaces.component.html.HtmlFileUpload,Id: upload]} at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:566) at javax.faces.component.UIInput.decode(UIInput.java:184) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:692) at javax.faces.component.UIInput.processDecodes(UIInput.java:114) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:688) at javax.faces.component.UIForm.processDecodes(UIForm.java:57) at org.ajax4jsf.component.AjaxViewRoot$1.invokeContextCallback(AjaxViewRoot.java:388) at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:235) at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:405) 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 javax.faces.webapp.FacesServlet.service(FacesServlet.java:148) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:100) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154) at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260) at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493) 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:147) 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:175) 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:844) 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.richfaces.renderkit.FileUploadRendererBase.doDecode(FileUploadRendererBase.java:108) at org.ajax4jsf.renderkit.RendererBase.decode(RendererBase.java:76) at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:562) ... 36 more
My code in jsp:
<rich:fileUpload uploadData="#{placeActionManager.files}" fileUploadListener="#{placeActionManager.imageUploadListener}" maxFilesQuantity="3" id="upload" acceptedTypes="jpg, gif, png, bmp" addControlLabel="#{msgs.addFileControlLabel}" clearAllControlLabel="#{msgs.clearAllFilesControlLabel}" clearControlLabel="#{msgs.clearFileControlLabel}" stopEntryControlLabel="#{msgs.stopFileEntryControlLabel}" uploadControlLabel="#{msgs.uploadFileControlLabel}"> <a4j:support event="onuploadcomplete" reRender="info" /> </rich:fileUpload>
I guess there is some kind of problem rendering the component? pick list from richfaces works fine for me.