快速业务通道

Struts1.x系列教程(2):简单的数据验证 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21

Struts1.x系列教程(2):简单的数据验证

时间:2011-01-10 BlogJava 银河使者

在进行完简单验证后,如果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>                         

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号