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

在进行完简单验证后,如果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
,以便于您获取更多的相关知识。

时间: 2024-12-21 16:22:20

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

Struts1.x系列教程(17)

Struts1.x系列教程(17):使用IncludeAction和ForwardAction类包含和转入Web资源 一.使用IncludeAction类包含Web资源 虽然在JSP页面中可以使用<jsp:include>标签包含另一个Web资源,但Struts框架提倡在包含Web资源时应先经过Struts控制器处理后,再由Struts控制器负责包含Web资源.org.apache.struts.actions.IncludeAction类提供了包含其他Web资源的功能.使用IncludeAc

Struts1.x系列教程(17):使用IncludeAction和ForwardAction类包含和转入Web资源

本文为原创,如需转载,请注明作者和出处,谢谢! 上一篇:Struts1.x系列教程(16):使用LocaleAction类实现国际化的Web程序 一.使用IncludeAction类包含Web资源     虽然在JSP页面中可以使用<jsp:include>标签包含另一个Web资源,但Struts框架提倡在包含Web资源时应先经过Struts控制器处理后,再由Struts控制器负责包含Web资源.org.apache.struts.actions.IncludeAction类提供了包含其他We

Struts1.x系列教程(11):Validator验证框架高级应用

在<Struts1.x系列教程(10):Validator验证框架入门>一文中给出的例子中的name.age和email都是简单的属性,如果是嵌套的属性(也就是一个属性的数据类型是另外一个带有属性的类),可以使用圆点(.)符号来访问.如我们可以通过设置<field>元素的property属性值为"employee.salary"来验证employee属性中的salary属性. 如果要验证的索引属性,我们可以使用<field>元素的indexedLis

Struts1.x系列教程(9):上传任意多个文件

从<Struts1.x系列教程(8):上传单个文件>中给出的例子可以看出,在Struts1.x中上传单个文件是非常简单的,但在实际应用中,上传文件的个数一般是不确定的,如在网络硬盘中,用户可以根据自己的需要上传任意多个文件(当然,网络硬盘一次上传文件的数目一般也是有上限的,如50个,但用户可以只上传了3个文件,因此,在这种情况下,上传文件的个数也是不确定的).如果读者用过"网易网盘"或其他类似的服务程序,它们的上传文件功能基本上都是根据用户选择的文件多少来添加要上传的文件(

Struts1.x系列教程(16):使用LocaleAction类实现国际化的Web程序

我们曾经在<Struts1.x系列教程(13):国际化>一文中讲过如何通过编程的方式实现多语言的Web页面.在本文中,我们会介绍另外一种实现多语言Web页面的方法.这种方式与<Struts1.x系列教程(13):国际化>一文中所介绍的方法的区别就是无需编写一行代码就可以完成多语言的设置. Struts提供了一个LocaleAction类来做这个工作.LocaleAction类是一个final动作类,因此,LocaleAction类不能被继承.我们可按着如下两步来使用LocaleAc

Silverlight实例教程 - Validation用户提交数据验证捕获

Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础属性和事件 Silverlight实例教程 - Validation数据验证DataAnnotation机制和调试技巧 Silverlight实例教程 - Validation客户端同步数据验证 Silverlight实例教程 - Validation服务器端异步数据验证 Silverlight实例

Silverlight实例教程 - Validation服务器端异步数据验证

Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础属性和事件 Silverlight实例教程 - Validation数据验证DataAnnotation机制和调试技巧 Silverlight实例教程 - Validation客户端同步数据验证 Silverlight实例教程 - Validation服务器端异步数据验证 Silverlight实例

Silverlight实例教程 - Validation客户端同步数据验证

Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础属性和事件 Silverlight实例教程 - Validation数据验证DataAnnotation机制和调试技巧 Silverlight实例教程 - Validation客户端同步数据验证 Silverlight实例教程 - Validation服务器端异步数据验证 Silverlight实例

Struts1.x系列教程(1):用MyEclipse开发第一个Struts程序

本系列教程将详细介绍Struts 1.x的基本原理和使用方法,读者可以参阅<Struts 2系列教程>来比较Struts 1.x和Struts 2.x的相同点和不同点. 一.本文给出的程序要实现什么功能 mystruts是一个录入和查询产品信息的程序.为了方便起见,本例中的产品信息表只包括了产品ID.产品名称和产品价格三个字段.mystruts的主要功能如下: 1.接受用户输入的产品ID.产品名称和产品价格. 2.验证这些字段的合法性.如果某些字段的输入不合法(如未输入产品ID),程序会for