rich:fileUpload with RichFaces4 does not refresh after upload
assen-todorov Jun 29, 2011 12:11 PMHi,
I use the demo-example code to implement file upload in my application.
In the demo-example there are 2 tables :
- left table for selection of file(s) to upload
- right table for preview of already uploaded files together with information about the file (name and size)
All works fine and I am able to store uploaded files on my local disk, but have problems with the preview-table.
After upload the preview table get not refreshed/rerendered and I am not able to see the uploaded files.
The strange thing is, that if I look into the source code of the page (in browser - right mouse click and select "view page source" ) I can see all the information in the preview table, but it seems not to be rendered and this information is not shown in the browser.
Screenshots (see attachments) :
- first - init state
- second - file selected
- third - file uploaded, progressbar not working, preview not refreshed/rerendered (looks like it is hanging, but the file is stored on the disk)
- fourth - after manual refresh (F5) the preview table is refreshed, but the information from the left table is missing
My markup looks as follows :
<?xml version="1.0" encoding="UTF-8"?> <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich" xmlns:p="http://primefaces.prime.com.tr/ui" xmlns:h="http://java.sun.com/jsf/html" template="/resources/templates/default.xhtml"> <ui:define name="navigation"> <ui:decorate template="navigation.xhtml"> <ui:param name="pageId" value="application.overview"/> </ui:decorate> </ui:define> <ui:define name="content"> <h:form> <h:panelGrid columns="2" columnClasses="top,top"> <rich:fileUpload fileUploadListener="#{fileUploadBean.listener}" id="upload" acceptedTypes="#{fileUploadBean.allowedMimeTypes}"> <a4j:ajax event="uploadcomplete" execute="@none" render="infoPanelGroup"/> </rich:fileUpload> <h:panelGroup id="infoPanelGroup" layout="block"> <rich:panel bodyClass="info"> <f:facet name="header"> <h:outputText value="Uploaded Files Info"/> </f:facet> <h:outputText value="No files currently uploaded" rendered="#{fileUploadBean.size==0}"/> <rich:dataGrid columns="1" value="#{fileUploadBean.files}" var="file" rowKeyVar="row"> <rich:panel bodyClass="rich-laguna-panel-no-header"> <h:panelGrid columns="2"> <a4j:mediaOutput element="img" mimeType="image/jpeg" createContent="#{fileUploadBean.paint}" value="#{row}" style="width:100px; height:100px;" cacheable="false"> <f:param value="#{fileUploadBean.timeStamp}" name="time"/> </a4j:mediaOutput> <h:panelGrid columns="2"> <h:outputText value="File Name:"/> <h:outputText value="#{file.name}"/> <h:outputText value="File Length(bytes):"/> <h:outputText value="#{file.length}"/> </h:panelGrid> </h:panelGrid> </rich:panel> </rich:dataGrid> </rich:panel> <br/> <a4j:commandButton action="#{fileUploadBean.clearUploadData}" render="infoPanelGroup, upload" value="Clear Uploaded Data" rendered="#{fileUploadBean.size > 0}"/> </h:panelGroup> </h:panelGrid> </h:form> </ui:define> </ui:composition>
Any ideas? I need help ...
Edit:
I use RF4 together with Seam 3. In my web.xml I have both parameters required for rich:fileUpload - org.richfaces.fileUpload.createTempFiles and org.richfaces.fileUpload.maxRequestSizes.
-
fourth.JPG 18.1 KB
-
third.JPG 10.8 KB
-
second.JPG 12.2 KB
-
first.JPG 9.2 KB