我正在尝试使用p:fileUpload(修改为仅允许用户选择文件)使用ajax将文件发送到我的托管bean,因为我不希望JSF每次都验证我的表单的所有字段我上传了一个文件。
一旦我可以通过 handleFileUpload 方法处理文件,下面的代码工作正常:
<h:form enctype="multipart/form-data">
<p:fileUpload id="uploadFile" fileUploadListener="#{managedBean.handleFileUpload}" mode="advanced" widgetVar="uploadFile" process="@this"/>
<p:commandButton value="Submit" id="btnSubmit" onclick="uploadFile.upload()"/>
</h:form>
问题是我需要发送一个用它来描述文件的文本。我尝试将输入文本id放在fileUpload进程标记中,但是在 handleFileUpload 方法之后处理它。
如何将此额外信息与文件一起发送?
PS:我正在使用JSF 2.0和PrimeFaces 4.0
编辑: 我注意到在APPLY_REQUEST_VALUES阶段调用 handleFileUpload 方法,而desciption设置在UPDATE_MODEL_VALUES阶段。我试着将描述设置为immediate =“true”,但没有任何改变。