完成上传文件,然后执行按钮的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"/>
的回调的onComplete一个FileUpload请求后执行。在多次上传的情况下,发出2个请求,不完整将执行两次。你必须改变oncomplete =“save();” for oncomplete =“if(this.files.length == 0)save()” – 2016-10-29 17:15:35