<rich:fileUpload> can't call the listener
manuel.moroni Oct 28, 2013 12:09 PMhi,
i'm trying to develop a modalpanel in which the user can upload multiple files.
unfortunately it seems that the listener that should be called from the <rich:fileUpload> component never fires.
once the files have been uploaded the <h:commandButton> should process the files by calling a procedures that saves them into an oracle db.
i'v attached the code.
nevertheless i notices that IE might have a bug.
infact if i try to encapsulate the <rich:fileUpload> by an <h:form> the the page load the content forever and never ends so i tested the code below with chrome.
following some technical details:
appserver: weblogic 10.3
framework: richfaces 3.3.3
browser: chrome (but must be compatible with IE8 for now)
jsf version: 1.2
jdk version: 1.6
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%> <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <%@ taglib uri="http://myfaces.apache.org/extensions" prefix="x"%> <rich:modalPanel id="panel_allegati" width="1000" height="400"> <f:facet name="header"> <h:panelGroup> <h:outputText value="Allegati"></h:outputText> </h:panelGroup> </f:facet> <f:facet name="controls"> <h:panelGroup> <h:commandLink value="x" styleClass="hidelink" id="hidelink"/> <rich:componentControl for="panel_allegati" attachTo="hidelink" operation="hide" event="onclick"/> </h:panelGroup> </f:facet> <h:panelGrid columns="1" style="font-size:12px;"> <h:outputText value="File Caricati a Sistema: " /> <rich:extendedDataTable value="#{sessionContainer.findSession.allegato.allegatiList}" selection="#{sessionContainer.findSession.allegato.selection}" var="item" id="table_allegati" sortMode="multi" width="900" height="100" selectionMode="multi" style="margin-left:auto; margin-right:auto;"> <rich:column sortable="false" label="Note" id="col_1"> <f:facet name="header"> <h:outputText value="Note" style="color:#1b6e2f; font-size:12px; font-weight:bold"/> </f:facet> <h:inputHidden value="#{item.idDocumento}"/> <h:outputText value="#{item.descrizione}" id="note"/> </rich:column> <rich:column sortable="true" label="Nome File" id="col_2" filterEvent="onkeyup"> <f:facet name="header"> <h:outputText value="Nome File" style="color:#1b6e2f; font-size:12px; font-weight:bold"/> </f:facet> <h:outputText value="#{item.nome}" id="nome_file"/> </rich:column> <rich:column sortable="true" label="Tipo File" id="col_3" filterEvent="onkeyup"> <f:facet name="header"> <h:outputText value="Tipo File" style="color:#1b6e2f; font-size:12px; font-weight:bold"/> </f:facet> <h:outputText value="#{item.estensione}" id="tipo_file"/> </rich:column> <rich:column sortable="true" label="Data Upload" id="col_4"> <f:facet name="header"> <h:outputText value="Data Upload" style="color:#1b6e2f; font-size:12px; font-weight:bold"/> </f:facet> <h:outputText value="#{item.dataUpload}" id="data_upload"/> </rich:column> <rich:column sortable="true" label="From" id="col_5"> <f:facet name="header"> <h:outputText value="From" style="color:#1b6e2f; font-size:12px; font-weight:bold"/> </f:facet> <h:outputText value="#{item.mailFrom}" id="mail_from"/> </rich:column> <rich:column sortable="true" label="To" id="col_6"> <f:facet name="header"> <h:outputText value="To" style="color:#1b6e2f; font-size:12px; font-weight:bold"/> </f:facet> <h:outputText value="#{item.mailTo}" id="mail_to"/> </rich:column> <rich:column sortable="true" label="Subject" id="col_7"> <f:facet name="header"> <h:outputText value="Subject" style="color:#1b6e2f; font-size:12px; font-weight:bold"/> </f:facet> <h:outputText value="#{item.mailSubject}" id="mail_subject"/> </rich:column> <rich:column sortable="true" label="Allegati" id="col_8"> <f:facet name="header"> <h:outputText value="Allegati" style="color:#1b6e2f; font-size:12px; font-weight:bold"/> </f:facet> <h:outputText value="#{item.mailAllegati}" id="mail_allegati"/> </rich:column> </rich:extendedDataTable> </h:panelGrid> <h:form enctype="multipart/form-data"> <h:panelGrid columns="2" columnClasses="top,top"> <rich:fileUpload fileUploadListener="#{sessionContainer.findSession.allegato.listener}" maxFilesQuantity="#{sessionContainer.findSession.allegato.uploadsAvailable}" id="upload" immediateUpload="#{sessionContainer.findSession.allegato.autoUpload}" allowFlash="#{sessionContainer.findSession.allegato.useFlash}" listHeight="100"> <a4j:support event="onuploadcomplete" reRender="info" /> </rich:fileUpload> <h:panelGroup id="info"> <rich:panel bodyClass="info"> <f:facet name="header"> <h:outputText value="Uploaded Files Info" /> </f:facet> <h:outputText value="No files currently uploaded" rendered="#{sessionContainer.findSession.allegato.size==0}" /> <rich:dataGrid columns="1" value="#{sessionContainer.findSession.allegato.files}" var="file" rowKeyVar="row"> <rich:panel bodyClass="rich-laguna-panel-no-header"> <h:panelGrid columns="2"> <h:panelGrid columns="2"> <h:outputText value="File Name:" /> <h:outputText value="#{file.name}" /> </h:panelGrid> </h:panelGrid> </rich:panel> </rich:dataGrid> </rich:panel> <rich:spacer height="3"/> <br /> <a4j:commandButton action="#{sessionContainer.findSession.allegato.clearUploadData}" reRender="info, upload" value="Clear Uploaded Data" rendered="#{sessionContainer.findSession.allegato.size>0}" /> </h:panelGroup> </h:panelGrid> </h:form>
<h:commandButton value="Salva Allegato" action="#{sessionContainer.findSession.allegato.processMyFile}" image="../../static/images/salva_allegato.jpg" />
</rich:modalPanel>
-
bean.txt.zip 2.0 KB
-
class.txt.zip 929 bytes
-
jsp.txt.zip 1.4 KB
-
web.txt.zip 1.0 KB