在进行完简单验证后,如果form中的数据不合法,程序就会forward到指定的JSP页(一般是包含form的页面),并显示相应的错误信息。如果form中的数据完全正确,程序就会继续执行。
一、在validate方法中进行简单验证
在上一篇文章中我们知道,Struts1.x通过ActionForm的子类来封装了客户端提交的form中的数据。而服务端程序只需要通过ActionForm的子类的对象实例就可以访问form中的数据,而如果不使用ActionForm类,就必须通过request对象来获得form中的数据。通过这种封装机制可以使代码更容易理解。然而,ActionForm类不仅可以封装form中的数据,还可以通过ActionForm类的validate方法来验证form中的数据。validate方法的定义如下:
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
当客户端向服务端提交form后,Servlet引擎首先通过ActionForm的子类的对象实例装载form中的数据,然后再调用validate方法进行验证。validate方法返回了一个ActionErrors对象。这个对象相当于一个Map,如果ActionErrors中没有错误信息,Servlet引擎就认为form中的数据是正确的,这时服务端程序就会继续执行。如果ActionErrors中有错误信息,程序就会跳转到指定的错误页面。下面让我们通过一个完整的例子来演示一下如何通过validate方法来验证form中的数据。实现这个例子需要如下五步:
【第1步】建立JSP页面
在这一步将建立一个叫simpleValidation.jsp的页面,这个JSP页面用于采集用户的输入信息。在<samples工程目录>中建立一个simpleValidation.jsp文件,并编写如下的代码:
<%@ page pageEncoding="GBK"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <html> <head> <title>注册信息(测试简单验证)</title> <style type="text/css"> .text { height: 20px; width: 160px; } </style> </head> <body> <html:form action="simpleValidation"> <table width="100%"> <tr> <td align="right" width="45%"> 用户名:</td> <td width="55%"> <html:text property="user" styleClass="text" /> <font color="red"><html:errors property="errorUser" /></font> </td> </tr><tr /><tr /> <tr> <td align="right">登录密码:</td> <td> <html:password property="password" styleClass="text" /> <font color="red"><html:errors property="errorPassword" /></font> </td> </tr><tr /><tr /> <tr> <td align="right">重复登录密码:</td> <td> <html:password property="password1" styleClass="text" /> <font color="red"><html:errors property="errorPassword1" /></font> </td> </tr><tr /><tr /> <tr> <td align="right">电子邮件:</td> <td> <html:text property="email" styleClass="text" /> <font color="red"><html:errors property="errorEmail" /></font> </td> </tr><tr /><tr /> <tr> <td align="right"> <br> ${requestScope.success } </td> <td align="left"> <br> <html:submit value=" 提交 " /> </td> </tr> </table> </html:form> </body> </html>
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索form
, 数据
, 验证
, validate
, 方法
, actionerror
, form 错误信息不显示
, actionform
, forms验证
, 错误信息类封装
, form验证
simpleValidate
,以便于您获取更多的相关知识。