我在多种模式下有一个fileUpload:
<p:fileUpload fileUploadListener="#{perosnaDesapBean.handleFileUpload}" mode="advanced" dragDropSupport="false"
multiple="true" allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
label="Elegir Imágenes"
cancelLabel="Cancelar"
uploadLabel="Subir"
update="messages"
/>
在我的托管bean中有句柄:
public void handleFileUpload(FileUploadEvent event) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, message);
}
对于第一个上传的文件显示消息,但对于第二个没有任何内容。它运行一次事件处理程序。
我的web.xml文件:
<context-param>
<param-name>primefaces.UPLOADER</param-name>
<param-value>auto</param-value>
</context-param>
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
我的托管bean是@ConversationScoped,可能是为什么?我正在使用PF:5.1
感谢。
答案 0 :(得分:0)
班级定义:
@ManagedBean ( name="fileUploadManagedBean" )
@SessionScoped
public class FileUploadManagedBean implements Serializable {
private static final long serialVersionUID = 1L;
private UploadedFile fileImage;
public UploadedFile getFileImage() {
return fileImage;
}
public void setFileImage(UploadedFile fileImage) {
this.fileImage = fileImage;
}
public void handleFileUpload(FileUploadEvent event) {
FacesMessage msg = new FacesMessage("Succesful", event.getFile()
.getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
XHTML定义:
<h:form enctype="multipart/form-data" >
<p:growl id="msg" />
<p:fileUpload value="#{fileUploadManagedBean.fileImage}"
invalidSizeMessage="Size off"
invalidFileMessage="Type off"
fileLimitMessage="Only 4 files"
mode="advanced" multiple="true" fileLimit="4" sizeLimit="1951200"
allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
fileUploadListener="#{fileUploadManagedBean.handleFileUpload}"
update="msg" />
</h:form>
WEB.XML定义
<context-param>
<param-name>primefaces.UPLOADER</param-name>
<param-value>commons</param-value>
</context-param>
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>
org.primefaces.webapp.filter.FileUploadFilter
</filter-class>
<init-param>
<param-name>thresholdSize</param-name>
<param-value>1951200</param-value>
</init-param>
<init-param>
<param-name>uploadDirectory</param-name>
<param-value>/tmpImages</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>