【发布时间】:2010-11-11 19:35:36
【问题描述】:
我的应用程序有一个模式面板,用户可以在其中上传文件并在下拉选择中选择“文档类型”。
我在上传事件期间使用<f:setPropertyActionListener> 设置文档类型值,但有时在处理上传之后设置属性。可能是因为正在生成另一个请求,并且该请求由另一个 Web 容器线程处理。
<rich:modalPanel id="attachFiles" autosized="true">
<h:form id="formUpload" enctype="multipart/form-data">
<h:selectOneMenu id="docType" value="#{myMB.docType}" required="true" >
<f:selectItems value="#{myMB.docTypesSelectItems}" />
</h:selectOneMenu>`
<rich:fileUpload id="upload" fileUploadListener="#{myMB.handleUpload}">
<a4j:support event="onupload">
<f:setPropertyActionListener value="#{myMB.docType}"
target="#{myMB.docType}" />
</a4j:support>
</rich:fileUpload>
</rich:modalPanel>
当它发生时,myMB.docType 的值在myMB.handleUpload 的执行期间为空,这是不期望的,因为该字段应该是必需的。
有没有办法确保myMB.handleUpload 方法仅在docType 的属性设置后才执行?
【问题讨论】:
标签: java jsf file-upload richfaces