rich:fileupload add button cannot be disabled on filesubmit event
aizoc.chien Sep 21, 2015 3:46 PMI use the rich:fileUpload component. When the file is submit, rendering "upload" causes null exception.
I use listener="#{my.filesubmitListener}" to set flag #{my.filesubmitted} as true, and use render="upload" to invoke disabled="#{my.filesubmitted}".
Is there any way to disable/greyout fileupload/add button UI on filesubmit event?
<rich:fileUpload id="upload" disabled="#{my.filesubmitted}" autoclear="true" addLabel="fileupload" immediateUpload="true" fileUploadListener="#{my.fileListener}">
<a4j:ajax event="filesubmit" listener="#{my.filesubmitListener}" render="upload"/>
<a4j:ajax event="uploadcomplete" listener="#{my.uploadcompleteListener}" render="upload, info"/>
</rich:fileUpload>
<rich:panel id="info" ...>
</rich:panel>
Exception parsing multipart request: Request data cannot be read: org.richfaces.exception.FileUploadException: Exception parsing multipart request: Request data cannot be read at org.richfaces.request.MultipartRequestParser.parse(MultipartRequestParser.java:156) [richfaces-components-ui-4.3.7.Final.jar:4.3.7.Final] at org.richfaces.request.MultipartRequest25.parseIfNecessary(MultipartRequest25.java:77) [richfaces-components-ui-4.3.7.Final.jar:4.3.7.Final] at org.richfaces.request.MultipartRequest25.getParameter(MultipartRequest25.java:114) [richfaces-components-ui-4.3.7.Final.jar:4.3.7.Final] at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:91) [jsf-impl-2.1.28.jar:2.1.28] at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:62) [jsf-impl-2.1.28.jar:2.1.28] at java.util.Collections$UnmodifiableMap.get(Collections.java:1280) [classes.jar:1.6.0_65] at com.sun.faces.application.view.MultiViewHandler.calculateRenderKitId(MultiViewHandler.java:242) [jsf-impl-2.1.28.jar:2.1.28] at javax.faces.application.ViewHandlerWrapper.calculateRenderKitId(ViewHandlerWrapper.java:153) [jsf-api-2.1.28.jar:2.1] at com.sun.faces.context.FacesContextImpl.isPostback(FacesContextImpl.java:210) [jsf-impl-2.1.28.jar:2.1.28] at javax.faces.context.FacesContextWrapper.isPostback(FacesContextWrapper.java:402) [jsf-api-2.1.28.jar:2.1] at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:188) [jsf-impl-2.1.28.jar:2.1.28] at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.28.jar:2.1.28] at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116) [jsf-impl-2.1.28.jar:2.1.28] at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [jsf-impl-2.1.28.jar:2.1.28] at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) [jsf-api-2.1.28.jar:2.1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:489) [jbossweb-7.0.13.Final.jar:] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:] at java.lang.Thread.run(Thread.java:695) [classes.jar:1.6.0_65]