Struts 1表单验证

时间:2013-04-23 19:35:20

标签: struts-1

我在遗留项目中使用struts 1。我想验证表格。关于那个,我读了很好的article。但是我不明白如果form的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位于我的应用程序的根目录

2 个答案:

答案 0 :(得分:2)

您还需要使用<html:errors/>标记在somepage.jsp

中显示验证错误

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

答案 1 :(得分: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>