代码之家  ›  专栏  ›  技术社区  ›  cringe

如何返回具有多个带有actionErrors的表单的JSP?

  •  0
  • cringe  · 技术社区  · 14 年前

    我有一个JSP,有多个表单作为一个对象的“编辑”视图。现在我想发送一个表单,但是在 validate 方法,因为其中一个输入字段未填充。

    当bean被验证并发现错误时,struts返回到JSP,JSP被定义为my中bean的输入。 struts-config.xml . 但是现在其他的形式却失去了它们的价值。

    我如何解决这个问题,所以我将返回到JSP,并再次填写所有表单?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Community CDub    8 年前

    当Struts从您提交的表单接收参数时,它将它们绑定到actionForm对象,然后对actionForm对象调用validate()。当您返回到页面时,绑定的参数将保留在那里,并且您应该在页面中显示您的值。

    有些事情会干扰这种机制:

    1. 缺少要处理的reset()方法 复选框-从你的问题来看, 似乎不太可能是这样;
    2. 具有用于链接页面调用的具有“请求”范围的表单-同样,不太可能是这样的;
    3. 最可能的原因 -页面中有多个表单,但只提交其中一个表单,因此其他表单中的字段不会发送到服务器。因此,Struts对它们没有任何绑定。当您返回页面时,您的值丢失。这不是Struts问题。您可以通过将所有字段都放在一个表单中来解决这个问题,或者使用JS将其他表单中的字段提交给。看到类似的问题 here .