`

Struts2的检证框架详解

阅读更多

Struts2的检证框架:
    一,根据字段校验(为每一个action写一个配置文件以"Action类名"+"-validation.xml"):
    二,根据XML的DTD写配置文件如:
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
         "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
        <!-- 字段校验 -->
        <validators>
            <field name="username">
                <!--
                     short-ciruit="true"表示短入,即username第一个校验(requiredstring)有失败信息就
                     不用进行第二个校验(stringlength)
                -->
                <field-validator type="requiredstring" short-circuit="true">
                    <param name="trim">true</param>
                    <message>用户名不能为空!</message>
                </field-validator>
                <field-validator type="stringlength">
                    <param name="minLength">6</param>
                    <param name="maxLength">10</param>
                    <message>用户名长度必须在${minLength}与${maxLength}之间</message>
                </field-validator>
            </field>
        </validators>
       
        <validators>
            <!-- 非字段校验 -->
            <validator type="requiredstring">
                <param name="fieldName">username</param>
                <message>用户名不能为空!</message>
            </validator>
            <validator type="stringlength">
                <param name="fieldName">username</param>
                <param name="minLength">6</param>       
                <parma name="maxLength">10</parma>
                <message>用户名长度必须在${minLength}与${maxLength}之间</message>
            </validator>
   
        </validators>
       
    三,说明:
        有了配置文件校验Struts2,若Action当中重写了validate方法则validate方法也会执行。
        当校验字符串为非空则要用requiredstring,当校验非字符串为非空则要用required
        在com.opensymphony.xwork2.validator.validators包中的default.xml中列出了所有的field-validator的Type,后面的class表为该校验的实现。
        <param>标签的name属性为该实现类中的属性。
       
       
    四,Struts2的客户端验证:
        1,客户端form的主题(theme)一定不能设置为simple
        2,将form的validate属性设置为true
        3,Struts2的客户端验证会根据服务器端的xml产生JavaScript方法进行客户端验证。
        4,Struts2有客户端验证的功能但是不推荐使用,不如自己写的客户端验证。
       
    五,Struts2在的Action的另一个方法要校验
        /**
         * 自己在Action中定义的另一个方法
         *
         * @return
         * @throws Exception
         */
        public String myRegister() throws Exception {
            return SUCCESS;
        }
        struts.xml中的配置
        <action name="myRegister" class="com.mengya.action.RegisterAction" method="myRegister">
            <result name="success">/show.jsp</result>
            <result name="input">/index.jsp</result>
        </action>
        对于myRegister方法的校验则是:action的名称+"-"+方法名+"-"+validation.xml
   
    六,多方法的校验的次序:
        对于:Action中的myRegister方法我们写了RegisterAction-myRegister-validation.xml
        那么myRegister方法它会进入RegisterAction-myRegister-validation.xml进行校验,然后进入RegisterAction-validation.xml进行校验,
        若Action中的validation方法重写了那么还会进入到validation方法中进行校验。
        故:若Action有多个方法则我们可以不写"Action名称"+"-validation.xml"页为每个方法写该方法的校验。
        当Action如果存在继承的话校验次序更多,若RegisterAction继承了RegAction,RegAction中也有一个myRegister方法,那么对于RegisterAction的myRegister方法会先进入
        RegAction-myRegister-validation.xml,然后是RegAction-validation.xml,然后是RegisterAction-myRegister-validation.xml再是RegisterAction-validation.xml
        当然这种情况很少出现但是说明上面的关点:若Action有多个方法则我们可以不写"Action名称"+"-validation.xml"页为每个方法写该方法的校验。
        执行了xml中的校验信息之后为执行action里面的validation方法里的校验信息。
   
    七,field级别的Error(addFieldError)与Action级别的Error(addActionError)
       真正存放field级别错误信息的对象是LinkedHashMap,该LinkedHashMap的key是String类型的,value是ArrayList类型的。
       对于Action级别的错误信息,实际上是放置在ArrayList中的。
       故对于同一个字段即在xml中配置了校验信息也在Action中的validation方法中添加校验信息则校验失败的话这两处的提示信息都为出现在页面中。   
   
   
    八,在Action中的validation方法中通过getFieldErrors()可返回field级别的Error信息的map对象,对该对象
        进行添加error信息是没用的,它返回回来的只是原来field级别的Error信息的map对象的复本。
        即getFieldErrors().put(key, value)是没有意义的,只能通过addFieldError(arg0, arg1)来添加校验提示信息。

  • Struts2_5.rar (3.6 MB)
  • 描述: Struts2的检证框架详解实例
  • 下载次数: 74
1
0
分享到:
评论

相关推荐

    struts2验证框架

    Struts2 验证框架详解 Struts2 验证框架是基于 Java 语言的 Web 应用程序框架,提供了一个强大的验证机制,以确保用户输入的数据满足业务逻辑的要求。在 Struts2 中,验证机制是通过 validator 来实现的,该机制...

    struts2框架详解

    Struts2框架详解 Struts2是Java Web开发中的一款广泛应用的开源MVC框架,它构建在Apache Struts 1的基础上,提供了更为强大的功能和更好的灵活性。Struts2旨在简化Web应用开发,通过将表现层与业务逻辑层解耦,提高...

    Struts 结合 Validate框架验证详解

    在Struts框架中,数据验证是非常重要的一环,它确保了用户输入的数据符合应用的要求,提高了应用的安全性和用户体验。本文将深入探讨如何结合Validate框架在Struts中实现有效的数据验证。 首先,我们需要理解Struts...

    struts框架及校验框架详解

    Struts框架是Java Web开发中的一个关键组件,它属于Java EE(J2EE)平台的一部分,主要用于构建...通过深入学习"struts框架及校验框架详解"文档,开发者能更有效地利用Struts来创建高效、稳定且易于维护的Web应用程序。

    Struts验证框架配置详解

    `struts2-core.jar` 是Struts2框架的核心库,包含了Struts2的基础功能;而`struts2-validation-plugin.jar` 则是专门用于验证的插件,它提供了验证框架的功能。这两个库需要添加到项目的类路径(ClassPath)中,以...

    struts2 spring hibernate框架技术与项目实战 光盘源码上

    Struts2、Spring和Hibernate是Java Web开发中的三大主流框架,它们各自负责应用程序的不同层面,协同工作可以构建出高效、可维护的复杂Web应用。在本资源中,"struts2 spring hibernate框架技术与项目实战 光盘源码 ...

    struts2入门实例教程详解

    ### Struts2入门实例教程详解 #### 一、环境搭建与基本配置 在开始学习Struts2框架之前,首先需要确保开发环境的正确搭建。根据提供的文档,所使用的开发工具为MyEclipse6,Web服务器为Tomcat6,Struts版本为...

    struts2 自定义验证程序的实现方法详解

    ### Struts2 自定义验证程序的实现方法详解 #### 一、Struts2 内建验证程序实现的分析 在探讨如何实现自定义验证程序之前,我们先来了解一下 Struts2 的内置验证机制。Struts2 提供了丰富的内置验证器(Validator...

    Struts2中Struts.xml配置文件详解

    "Struts2 中 Struts.xml 配置文件详解" Struts2 中的 Struts.xml 配置文件是 Struts2 框架的核心配置文件,用于定义应用程序的行为和结构。在 Struts.xml 文件中,我们可以定义 package、action、interceptor、...

    Struts1的validator验证框架

    ### Struts1的Validator验证框架详解 在Java Web开发领域,Struts1作为一个经典且流行的MVC框架,提供了丰富的功能来构建动态Web应用。其中,Validator框架是Struts1用于客户端和服务端表单验证的强大工具,它能...

    魔乐科技Struts2.x框架笔记

    ### 魔乐科技Struts2.x框架笔记详解 #### 一、框架开发基础与特性 **框架开发来源**:框架开发的核心在于反射机制的应用,它使得开发者能够以更为灵活的方式构建应用程序。在Struts2.x框架中,这一点体现得尤为...

    Struts2开发详解

    Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、易于维护的Web应用程序。它是Apache软件基金会的Apache Struts项目的一部分,基于MVC(Model-View-Controller)设计模式,提供了一种组织应用程序...

    struts2最全验证框架

    ### Struts2 最全验证框架知识点详解 #### 一、Struts2 验证框架概述 Struts2 是一个基于MVC模式的Java Web开发框架,它提供了丰富的功能来简化Web应用的开发过程。其中,Struts2的验证框架是其重要的组成部分之一...

    struts2深入详解源码1-5章

    本资料包包含的是《Struts2深入详解》一书的源码分析,涵盖了从第一章到第五章的内容,并附带了相关的jar包,方便读者结合理论与实践进行学习。 首先,让我们从第一章开始,Struts2的基础知识。这一章通常会介绍...

    Struts2的常量详解

    Struts2 的常量详解 Struts2 框架中有许多重要的常量,它们负责控制着 Struts2 的行为和配置。下面我们将对 Struts2 中的一些常量进行详细的解释和分析。 1. struts.configuration struts.configuration 属性指定...

    Struts2属性文件详解

    ### Struts2属性文件详解 #### struts.configuration 该属性用于指定加载Struts 2配置文件的配置文件管理器,默认值为`org.apache.struts2.config.DefaultConfiguration`,这是Struts 2默认的配置文件管理器。若...

    struts2的struts.properties配置文件详解

    Struts2的Struts.properties配置文件详解 Struts2是一个基于MVC模式的Web应用程序框架,它提供了一个名为Struts.properties的配置文件,该文件用于配置Struts2的各种参数和设置。下面将对Struts.properties配置文件...

Global site tag (gtag.js) - Google Analytics