我有一个简单的 Struts 表单。它有几个文本字段和一个文件字段。这enctype
is multipart/form-data
在我的表格上。我在中验证actionform
的
验证方法。如果文本字段为空,我会返回错误
是必要的。除了可见字段之外,我还传递了一些隐藏字段
当表单被处理并返回到时需要作为请求参数
JSP。 JSP需要这些请求params
.
当请求没有验证错误时,一切都很好params
通过使用返回ActionRedirect
行动中的班级。但如果
返回错误,我丢失了请求params
。 (我能够访问
他们在actionform
验证方法或在操作中)。
我怎样才能确定请求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">
我相信您有两种选择来解决这个问题:
- 将范围更改为会话:这样数据将存储在会话中,并且您不会丢失任何数据。
- 实现验证的重置方法:这样,当在验证中调用重置方法时,您可以重新填充表单的数据。
我希望这会有所帮助。我的旧代码文件中可能有一些其他建议,但我现在无法访问它们。如果我有时间,我稍后会检查一下。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)