java Struts 1在使用Multipart/FormData Enctype验证表单失败后丢失请求参数
我有一个简单的Struts表单。它有几个文本字段和一个文件字段。这个
enctype
在我的表格上是multipart/form-data
。我在actionform
的
验证方法。如果文本字段是空的,我会返回错误
都是必需的。除了可见字段,我还传递了几个隐藏字段
当表单被处理并返回给
JSP。JSP需要这些请求params
当请求没有验证错误时,一切都很好
params
通过在操作中使用ActionRedirect
类返回。但如果
返回了错误,我丢失了请求params
。(我可以访问
在actionform
validate方法中或在action中)
如何确保请求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">
# 1 楼答案
我相信你有两个选择来解决这个问题:
我希望这能有所帮助。我可能在我的旧代码文件中有一些其他建议,但我现在无法访问它们。如果我有时间的话,我会晚些时候再看