我有一个简单的 Struts 表单。它有几个文本字段和一个文件字段。在
我的表格上enctype
。multipart/form-data
我在actionform
的 validate 方法中进行验证。如果文本字段为空,我会返回它们是必需的错误。除了可见字段之外,我还传递了一些隐藏字段,这些字段在处理表单并将其返回给 JSP 时作为请求参数。JSP 需要这些请求params
。
当没有验证错误时,一切都很好,因为
通过使用操作中的类params
返回请求。ActionRedirect
但是如果返回错误,我会丢失请求params
。(我可以在actionform
validate 方法或操作中访问它们)。
如何确保params
在表单中出现验证错误时将请求传回multipart
?有什么解决方法吗?
下面的动作映射(为了混淆而略微编辑):
<action
path="/saveQuestion"
type="blahblahblah.QuestionAction"
parameter="save"
name="QuestionForm"
input="populateQuestion.do"
scope="request"
validate="true">
<set-property property="cancellable" value="true"/>
<forward name="success" path="viewSurvey.do" redirect="true"/>
</action>
<action
path="populateQuestion"
type="blahblahblah.QuestionAction"
parameter="populateRequest"
name="ItemForm"
scope="request">
<forward name="success" path=".editing.Question"/>
</action>
而我的 JSP 表单行:
<html:form styleId="QuestionForm" action="/saveQuestion" enctype="multipart/form-data" method="POST">