我有jsf-seam应用程序,我在其中使用seam:fileUpload使用下面的代码上传文件。另外,我已经创建了一个multipart-filter条目,将文件大小限制为1 MB。
<s:fileUpload id="offerImage" data="#{myBean.data}" contentType="#myBean.contentType}" fileName="#{myBean.fileName}" fileSize="#{myBean.size}" />
<web:multipart-filter create-temp-files="true"
max-request-size="1000000"
url-pattern="*.seam"/>
一切正常,除非用户尝试上传大于1 MB的文件,否则会抛出异常。我也在pages.xml中处理这个异常。
<exception class="org.jboss.seam.web.FileUploadException">
<redirect view-id="/create.xhtml">
<message severity="ERROR">Error while uploading Offer Image, due to size limitation.</message>
</redirect>
此处的问题是:create.xhtml中的所有其他字段(上载字段除外)变为空白。除文件上传外,用户不应再次填写所有字段。
有没有办法,我可以将用户重定向到同一个xhtml页面,当发生seamFileUpload异常时,用户填写的所有值都会持续存在。
此致 拉雅
答案 0 :(得分:0)
您是否在对话或页面范围内使用组件运行此页面?如果存在“just”事件范围组件,则会在每个请求上初始化backbeans,因此您可以在下一次渲染时使用空字段。