0

我在遗留项目中使用 struts 1。我想验证表格。我读过关于那的好 文章。但是我不明白如果表单的 validate 方法返回非空 ActionErrors,struts 会做什么。我已经指定validate="true"input="somepage.jsp"在行动,但如果我的表单验证没有通过,我会得到一个空白页。据我了解,它必须停留在输入中指定的页面?我对吗?

编辑

 <action path="/struts/BlaBlaAction" 
                type="com.example.BlaBlaAction"
                name="BlaBlaForm"
                validate="true"
                scope="request"
                input="/struts/blablainput.jsp">
              <forward name="someaction" path="/struts/AnotherAction.do"/>
              <forward name="error" path="/error.html" redirect="true"/>
 </action>

文件夹 struts 位于我的应用程序的根目录中

4

2 回答 2

2

您还需要<html:errors/>在 somepage.jsp 中使用标记显示验证错误

如果表单的 validate 方法返回非空 ActionErrors,Struts 将重定向到您定义为输入的 JSP。然后,如果您<html:errors>在输入 JSP 中有,所有的 ActionErrors 都会被迭代并显示出来。

于 2013-04-23T19:55:02.493 回答
1

您可能忘记了struts XML配置中的“失败”转发。看这个例子:

<action path="/LogonSubmit" type="app.jcj.LogonAction" name="logonForm" 
           scope="request" validate="true" input="/pages/Logon.jsp">
    <forward name="success" path="/pages/Welcome.jsp"/>
    <forward name="failure" path="/pages/Logon.jsp"/>
</action>
于 2013-04-23T19:57:46.153 回答