完成上传文件,然后执行按钮的jsf:操作

完成上传文件,然后执行按钮的jsf:操作

问题描述:

如代码中所示,fileupload调用一个方法,该方法将文件保存在列表<>中。从执行PF('fileupload')upload()的按钮上传文件。 我在这里需要的是,当您上传最近在上传结束时预加载的“n”时,请执行该按钮的操作方法。完成上传文件,然后执行按钮的jsf:操作

<p:fileUpload id="fileupload" 
       widgetVar="fileupload" 
       fileUploadListener="#{incidentBean.handleAttachment}" 
       mode="advanced" 
       label="Adjuntar (máx. 800kb)" 
       invalidFileMessage="Archivo inválido" 
       update="form-attachments" 
       allowTypes="/(\.|\/)(jpg|jpeg|gif|png)$/" 
       multiple="true" 
       sizeLimit="820000" 
       invalidSizeMessage="Archivo pesado" /> 

<button class="btn btn-info" 
     type="submit" 
     jsf:id="cmd" 
     jsf:action="#{incidentBean.save()}" 
     jsf:onclick="PF('fileupload').fileupload();"> 

感谢您的帮助。

您可以在文件上传的oncomplete属性简单地连接到一个<p:remoteCommand/>,这样你就会有:

<p:remoteCommand name="save" actionListener="#{incidentBean.save}"/> 

<p:fileUpload id="fileupload" oncomplete="save();" widgetVar="fileupload"/> 
+0

的回调的onComplete一个FileUpload请求后执行。在多次上传的情况下,发出2个请求,不完整将执行两次。你必须改变oncomplete =“save();” for oncomplete =“if(this.files.length == 0)save()” – 2016-10-29 17:15:35