Struts 1使用Multipart / Form-Data Enctype进行失败的表单validation后丢失请求参数

我有一个简单的Struts表单。 它有一些文本字段和一个文件字段。 enctype是我表单上的multipart/form-data 。 我在actionform的validation方法中validation。 如果文本字段为空,则返回所需的错误。 与可见字段一起,在处理表单并返回到JSP时,我传递了一些需要作为请求参数的隐藏字段。 JSP需要这些请求params

当没有validation错误时,一切都很有效,因为在操作中使用ActionRedirect类返回请求params 。 但如果返回错误,我会丢失请求params 。 (我可以在actionform validate方法或操作中访问它们)。

如何确保请求paramsmultipart表单中的validation错误时被传回? 有什么办法吗?

下面的动作映射(稍加编辑用于混淆):

         

我的JSP表单行:

  

我相信你有两个选择来解决这个问题:

  • 将范围更改为会话:这样,数据将存储在会话中,您不会丢失任何数据。
  • 实现validation的重置方法:这样,在validation中调用reset方法时,可以重新填充表单的数据。

我希望这会有所帮助。 我可能在我的旧代码文件中有一些其他建议,但我现在无法访问它们。 如果我有时间,我会稍后检查出来。