文档详情

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

发布:2019-03-26约9.86千字共10页下载文档
文本预览下载声明
上一篇: HYPERLINK /nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/13/251101.html Struts1.x系列教程(1):用MyEclipse开发第一个Struts程序 ??? 简单验证从本质上说就是在服务端来验证客户端提交的form中的数据。这种验证只是对form中的数据规则进行检查,如必须输入用户ID,价格不能小于0或是对email格式的验证。在这个验证过程中,并不需要访问数据库。因此,简单验证需要在用户提交form后,并且在服务器处理form中的数据之前进行。 ??? 在进行完简单验证后,如果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=/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=redhtml:errors?property=errorUser?//font ??????????????????????/td ??????????????????/trtr?/tr?/ ??????????????????tr ??????????????????????td?align=right登录密码:/td ??????????????????????td ??????????????????????????html:password?property=password?styleClass=text?/ ??????????????????????????font?color=redhtml:errors?property=errorPassword?//
显示全部
相似文档