zoukankan      html  css  js  c++  java
  • struts2框架之输入校验(参考第二天学习笔记)

    输入校验:

    1. 分类
    客户端校验:javascript,它是用户体验而已,可以绕开。
    服务器端校验
    * 代码校验
    1). 要求Action必须继承ActionSupport
    2). 重写ActionSupport类的validate()方法。
    添加校验逻辑!
    > 如果出错,添加fielderror即可。
    * 配置校验

    2. 原理
    validation拦截器,会调用Action的validate()方法,我们自己编写的validate()方法,它会在校验失败时向当前Action中添加字段错误。
    workflow拦截器,它会查看当前Action是否存在错误,如果存在,跳转到input,我们必须为当前Action提供input结果


    -------------------------

    局部校验
    一个Action中可以有多个请求处理方法。每个请求处理方法应该拥有自己的校验方法,而且还要拥有自己的input结果。

    局部校验方法命名规则:validate请求处理方法名称(),例如请求处理方法的名称为login,那么它的校验方法名称为:validateLogin()

    如果同时提供了局部校验方法和全局校验方法,那么是先局部后全局。

    通常有局部就不要再定义全局校验。

    让局部校验都拥有自己的input结果。
    在请求处理方法上配置InputConfig,给出resultName成员,它来指定当前请求处理方法的独有的input结果。

     // 当login()方法的校验方法校验失败时,会跳转到loginInput结果,这说明我们需要在<action>中配置名为loginInput的<result>。
    @InputConfig(resultName="loginInput")
    public String login() {
    ...
    }

    ==================================
    ==================================
    ==================================


    xml 配置校验

    <action name="aaa" class="cn.itcast.MyAction"/>

    校验规则在Struts中都是类,每个校验类都叫校验器,每个校验器都有自己的validate()方法,即校验方法。
    我们只需要把值传递给它就可以完成校验。
    非空 requreid
    长度 stringlength --> 字符串,最大长度和最小长度
    日期 date
    int范围 int
    url url
    mail mail
    regex regex

    <field name="username">
    <field-validator name="requiredstring">
    <message>用户名不能为空!</message>
    </field-validator/>
    <field-validator name="stringlength">
    <param name="minLength">3</param>
    <param name="maxLength">10</param>
    <message>用户名必须在3 ~ 10之间!</message>
    </field-validator/>
    </field>

    全局校验
    1. 文件的位置:Action同包下
    2. 文件的名称:Action名称-validation.xml
    3. 文件的内容:已经知道了。

    ==================================

    XML的局部校验

    1. 文件的位置:Action同包下
    2. 文件的名称:Action名称-访问的<action>名称-validation.xml
    3. 文件的内容:同上。

  • 相关阅读:
    iPhone控件之UIWebView2
    Xcode 4.1/4.2 免证书(iDP)开发+真机调试
    iPhone控件之UIToolbar
    POJ 2472 ||SDUT 2358 106 miles to Chicago(Dijkstra算法变形)
    POJ 2418 Hardwood Species(二叉排序树)
    POJ 2513 Colored Sticks(字典树 + 并查集 + 欧拉回路)
    HDU 4033 Regular Polygon(几何 + 二分)
    POJ 3191 The Moronic Cowmpouter(二进制的变形)
    POJ 2442 Sequence(堆的应用)
    HDU 4036 Rolling Hongshu(数学+物理应用)
  • 原文地址:https://www.cnblogs.com/xyhero/p/9348755.html
Copyright © 2011-2022 走看看