`
jackotty
  • 浏览: 880 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

struts的validator框架使用

阅读更多
        人生不如意事十有八九。本来前天就已经做好的struts的validator框架,昨天重新使用就不行了,知道今天才基本搞懂。我想跟我一样的仁兄大有人在,因此写下给各位网友参考。如果有不对或者有讨论的地方,还望各位不吝赐教。
        我今天不是详细讨论validator的使用方法,而是重点谈谈使用validator框架的几个应注重注意的问题。
        首先给出validator框架的一般配置过程(默认使用struts框架):
        1.在配置struts-config.xml中定义一个FormBean,并且它是继承动态ActionForm,即ValidatorForm或者ValidatorActionForm,或者是他们的子类。我继承的是ValidatorForm类。设置FormBean的属性和setter、getter方法。注意不要继承validator方法。
        2.在显示页面,例如登录页面(login.jsp),定义form表格及其属性。另外定义错误的提示信息,也就是使用的<html:errors/>标签。
        3.在Action页面中,编写业务处理代码,这一步与没有使用验证validator框架一样。注意,当你是从没有使用validator框架之上编写的代码,需要从ActionForm类到ValidatorActionForm类的转换。
        4.这一步是最关键的步骤之一,就是编写validation.xml和validator-rules.xml作为验证的规则。其中validator-rules.xml文件在使用struts框架的时候就已经给出,故编写validation.xml文件就是重点要说的。
        5.完成前面4步后,再在ApplicationResources.properties文件中输入要显示的错误信息。
        6.最后再在struts-config.xml中配置plug-in插件,validator框架最为插件来执行表单验证。并且注意的是要导入validator框架用到的8个jar包,分别是commons-validator.jar、jakarta-oro.jar、struts.jar,和commons-beanutils.jar、commoms-fileupload.jar、commons-digester.jar、commons-logging.jar、antrl.jar。

        以下是重点要说的几个注意点:
        在第4步中,编写validation.xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" "validator_1_0.dtd">
<form-validation>
  <formset>
     <form name="validLoginForm">
      <field property="…" depends="…">
        <arg0 key="…"/>
      </field>
      <field property="…" >
        <arg0 key="…"/>
      </field>
    </form>
  </formset>
</form-validation>


        首先应注意form元素中的name属性,它是与struts-config.xml中的<form-bean>元素中的name相同,也就是你编写的form-bean这个类(例如你编写了LoginForm这个类)后取的一个名字。(这里最容易修改name后,没有修改在validation.xml中form元素的name属性)
        其次field元素中的property属性就是需要检查的字段(例如LoginForm这个类里的私有属性),像username,password,而depends属性说明了要进行几项校验和哪些校验。
        重点是arg元素:<arg0>、<arg1>、<arg2>说明了进行校验的类型和次序。一般而言,arg0用来校验字段是否为空,key属性标注了一个键,而在                    
    ApplicationResource.properties文件中注释了响应的一对“键——值”,而这里的“值”就是要显示的错误信息。
        假设需要验证密码(password),不能为空,且大于等于6小于等于15,则可以写成
    validation.xml:
<field property="password" depends="required ">
       <arg0 key="lable.password"/>
</field>

    ApplicationResource.properties:
lable.password=password
errors.required={0} is required!

        注意errors.required={0} is required这个键值对中,errors.required这个键是固定这么写的,写成别的就不能显示,{0}是表示arg0元素中key键的值,即password。当在显示页面(登录页面)校验不通过时,将出现password is required信息。
        当你需要验证密码不为空,且大于等于6,小于等于15,如下编辑:
<field property="password" depends="required,minlength,maxlength">
       <arg0 key="lable.password"/>
       <arg1 key="${var:minlength}" name="minlength" resource="false"/>
       <var>
          <var-name>minlength</var-name>
          <var-value>6</var-value>
       </var>
       <arg2 key="${var:maxlength}" name="maxlength" resource="false"/>
       <var>
          <var-name>maxlength</var-name>
          <var-value>15</var-value>
       </var>
</field>

        然后在ApplicationResource.properties中编写了下面注释:
lable.password=password
errors.required={0} is required!
errors.minlength={0} cannot be smaller than {1} characters
errors.maxlength={0} cannot be larget than {2} characters

        我再解释一下,<var></var>元素用来定义最大最小值的定义。
        如上所示,最小值为6就是:
<arg1 key="${var:minlength}" name="minlength" resource="false"/>
       <var>
          <var-name>minlength</var-name>
          <var-value>6</var-value>
       </var>

        这里的key属性为${var:minlength},它表示取得最小值的值,然后将值投影到ApplicationResource.properties注释中的有{1}标注的地方,当然实在errors.minlength键值对中。
        最后注意的问题就是在登录jsp页面中,校验错误的标签代码应该如下所示:
<html:errors property="password"/>

        这里的property的值应该与validation.xml中field元素中的property属性一致,且必须是FormBean类中的字段。
        在最后我提醒一下,我在重复学习validator框架的时候,也是学习别人的例子,但自己做的就是不会报错,有时需要重新启动一下服务器,或者重启一下你的编辑工具。
        推荐jar下载网站:http://www.findjar.com/index.jsp

分享到:
评论

相关推荐

    IBM 的 Struts validator框架

    Struts Validator框架是Apache Struts框架的一个重要组成部分,由IBM公司提供支持,它主要用于Web应用程序中的数据验证。这个框架提供了一种结构化的方式来定义和执行客户端及服务器端的数据验证规则,确保用户输入...

    struts validator验证框架项目

    下面将详细介绍Struts Validator框架的关键概念、功能及其实现方式。 1. **验证框架概述** Struts Validator框架通过定义验证规则,对用户输入进行检查,防止无效或不安全的数据进入系统。它提供了XML配置文件和...

    Struts Validator验证框架详细讲解.txt

    ### Struts Validator 验证框架详细讲解 #### 引言 在Java Web开发中,数据验证是确保应用程序安全性和用户体验的重要环节。Struts框架作为早期流行的MVC框架之一,提供了强大的验证机制——Struts Validator,它...

    struts validator框架以及filter 乱码

    Struts Validator框架是Apache Struts框架的一个重要组成部分,主要用于处理Web表单验证。它提供了一种声明式的...在`Strutsvalidator`压缩包文件中,你应该能够找到相关的示例代码,帮助你更好地理解和应用这些概念。

    struts 的validator框架验证

    Struts的Validator框架是Java Web开发中用于处理用户输入验证的一种强大的工具,它与MVC架构中的控制器层紧密结合,提供了一种便捷的方式来确保用户提交的数据符合预设的业务规则。这个框架大大简化了数据验证的过程...

    struts_注册验证_Validator框架

    为了使用Struts Validator框架,开发者还需要在JSP页面上添加相应的标签库,如`&lt;html:form&gt;`、`&lt;html:errors&gt;`和`&lt;html:messages&gt;`,这些标签会处理表单的提交、错误的显示和消息的提示。 总的来说,Struts ...

    struts Validator 框架

    其他相关JAR文件由于也被Struts框架使用,通常无需额外操作即可自动包含。 #### 配置验证规则 Validator框架通过两个关键配置文件实现验证规则的声明式管理:`validation-rules.xml`和`validation.xml`。 - `...

    struts validator验证框架例子

    Struts Validator框架的优点在于它降低了代码的复杂度,将验证逻辑分离出来,提高了代码的可维护性和复用性。在需要处理大量用户输入并确保数据质量的场景下,如注册、登录、订单提交等,Validator框架是非常实用的...

    Struts的Validator验证框架使用教程

    这篇教程将带你深入了解如何使用Struts的Validator框架。 一、Struts Validator框架概述 Struts Validator框架是Apache Struts项目的一部分,它是基于Apache Commons BeanUtils和Digester库构建的。其核心功能是...

    Struts Validator验证器使用指南

    Struts Validator框架是Struts框架的重要组成部分,用于实现客户端和服务器端的数据验证。自0.5版以来,Struts Validator就已集成在Struts中,起初作为开发人员包的一部分,随后其核心代码迁移到Jakarta Commons库和...

    struts中使用validator验证框架

    在本文中,我们将深入探讨如何在Struts中使用Validator框架,并通过三个逐步进阶的实例来理解其工作原理。 首先,我们来看第一个实例——Validator_Struct_01。在这个基础案例中,我们将了解如何设置基本的...

    Struts validator验证框架

    总结,Struts Validator框架是Java Web开发中一个重要的数据验证工具,它通过配置文件和注解方式定义验证规则,提高了开发效率和代码质量。同时,其自定义验证功能使框架具有高度的灵活性,适用于各种复杂场景。通过...

    struts1.x validator框架验证入门例子

    在这个入门例子中,你可以创建一个简单的表单,使用Struts1.x的Validator框架进行验证。首先创建表单HTML页面,然后编写对应的ValidatorForm和Action,最后配置struts-config.xml和ValidatorRule.xml。运行项目,...

    Struts1的validator验证框架

    ### Struts1的Validator验证框架详解 ...然而,随着技术的发展,现代Web应用可能更倾向于使用Spring MVC、AngularJS等新兴框架,但Struts1的Validator框架依然有其不可替代的价值,特别是在遗留系统维护和优化方面。

    struts验证器validator使用,以及自定义验证器

    Struts是Java Web开发中的一个流行MVC框架,它的核心组件之一是Validator,用于处理表单数据的验证。本文将详细介绍Struts验证器Validator的使用,包括基础配置、自定义验证器的创建,以及如何在Maven项目中管理和...

    struts的validator框架

    Struts的Validator框架是Java Web开发中用于进行数据验证的重要工具,它基于Apache Struts框架,为MVC(Model-View-Controller)架构提供了一种强大的验证机制。Validator框架允许开发者定义验证规则,并在用户提交...

    validator框架的应用

    `Validator框架`是Java开发中用于数据验证的重要工具,尤其在基于Struts的Web应用程序中,它扮演着不可或缺的角色。Struts是一个流行的MVC(Model-View-Controller)框架,帮助开发者构建健壮且可维护的Java Web应用...

    Struts Validator 开发指南

    Struts Validator 是 Apache Struts 框架的一个重要组成部分,它提供了一种方便的方式来验证用户输入数据的有效性。Struts 通过插件(Plugin)机制来集成 Validator 功能,使得开发者可以轻松地在应用中添加数据验证...

Global site tag (gtag.js) - Google Analytics