* 首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法
    * 要继承ActionSupport类或者实现Validateable接口
    * 重写Validateable接口的validate()方法
        * 前提是:要保证setUsername()、validate()、login()方法要按照这个先后顺序执行
    * 如果登录失败,如何处理:
        * this.addFieldError( key, value);
            * key:错误提示字段
            * value:错误提示信息
    * 什么时候才是验证通过?
        * 验证通过:1、map集合不存在;2、map集合存在并为空
        * 验证不通过:map集合存在并且不为空
    * 分析需求:
        * 用户名不能为null ,""
        * 密码不能为null, "" ,并且密码的长度6-12之间
    * 针对所有业务方法进行验证还是针对某个指定业务方法进行验证?
        * 重写的validate()方法,针对所有业务方法进行验证
        * 重写的validate()方法加上要验证的指定的业务方法名(业务方法名的首字母大写),实现针对某个指定的业务方法进行验证
            * 为什么要这样进行拼接?因为struts2框架底层拼接,如果不这样写,底层就找不到对应方法名
struts2框架验证(xml方式):
    * 首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法
    * 创建一个xml格式验证文件:
        * 命名方式:ActionClassName-validation.xml,ActionClassName指的是动作类action的名称
        * <validators>标签:根元素
        * field:指定action中要校验的属性,实际上就是页面中表单的name属性的值
            * name:指定页面中表单的name属性的值
        * field-validator:指定验证规则
            * type:指定验证规则名称,
                    struts2框架提供的验证规则放在xwork-core-xxx.jar
                    下的com\opensymphony\xwork2\validator\validators
                    的default.xml配置文件。
        * param:向底层的验证规则传递的参数
        * message:验证失败时,提供的错误提示信息
    * 如果要对指定方法进行验证的话:
        * xml验证文件的命名方式:ActionClassName-ActionName-validation.xml,
                                ActionName对应的是struts.xml文件对应的action标签的name属性的值

Struts学习之手动验证的更多相关文章

  1. 【Java EE 学习 35 下】【struts2】【struts2文件上传】【struts2自定义拦截器】【struts2手动验证】

    一.struts2文件上传 1.上传文件的时候要求必须使得表单的enctype属性设置为multipart/form-data,把它的method属性设置为post 2.上传单个文件的时候需要在Act ...

  2. ASP.NET MVC学习之模型验证详解

    ASP.NET MVC学习之模型验证篇 2014-05-28 11:36 by y-z-f, 6722 阅读, 13 评论, 收藏, 编辑 一.学习前的一句话 在这里要先感谢那些能够点开我随笔的博友们 ...

  3. 前端MVC学习总结——AngularJS验证、过滤器

    前端MVC学习总结--AngularJS验证.过滤器 目录 一.验证 二.过滤器 2.1.内置过滤器 2.1.1.在模板中使用过滤器 2.1.2.在脚本中调用过滤函数 2.2.自定义过滤器 三.指令( ...

  4. AngularJS实现表单手动验证和表单自动验证

    AngularJS的表单验证大致有两种,一种是手动验证,一种是自动验证.一.手动验证 所谓手动验证是通过AngularJS表单的属性来验证.而成为AngularJS表单必须满足两个条件: 1.给for ...

  5. ArcGIS案例学习笔记-手动编辑擦除挖空挖除相减

    ArcGIS案例学习笔记-手动编辑擦除挖空挖除相减 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:手动编辑擦除.挖空.挖除.相减 1. 选中内部要素 2. c ...

  6. AngularJS表单验证,手动验证或自动验证

    AngularJS的表单验证大致有两种,一种是手动验证,一种是自动验证. 手动验证 所谓手动验证是通过AngularJS表单的属性来验证.而成为AngularJS表单必须满足两个条件:1.给form元 ...

  7. xaf 学习 RuleUniqueValueAttribute 唯一验证。

    xaf 学习  RuleUniqueValueAttribute 唯一验证. RuleUniqueValue("", DefaultContexts.Save, CriteriaE ...

  8. 如何使用在线工具手动验证JWT签名

    如何使用在线工具手动验证JWT签名     先丢一个转换地址:https://cryptii.com/   首先: jwt分为三个部分:header,payload,verifysignature   ...

  9. 使用 Spring Security 手动验证用户

    1.概述 在这篇快速文章中,我们将重点介绍如何在 Spring Security 和 Spring MVC 中手动验证用户的身份. 2.Spring Security 简单地说,Spring Secu ...

随机推荐

  1. 兔子--Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK

    错误原因: Activity打开别的Activity的时候会默认把新的Activity放到自己的task中,所以不用指定,可是别的地方就得指定了. 解决的方法:intent.addFlags(Inte ...

  2. Android设计中的.9.png

    在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”.这种图片是用于Android开发的一种特殊的图片格式,它的 ...

  3. JS 去除特定符号(逗号)的方法

    <script language="javascript"> var str="asdfk,asdf345345,345345"; //替换除数字与 ...

  4. [译] 使用Using Data Quality Services (DQS) 清理用户数据

    SQL Server 2012 Data Quality Services (DQS)  允许你使用自己的知识库来清洗数据. 在本文中我会展示一个简单示例. 使用DQS清理步骤如下: A. 建立DQS ...

  5. iOS程序启动原理(简单)

    1.执行main -> 执行UIApplicationMain UIApplicationMain底层实现 1.创建UIApplication对象 2.创建UIApplication代理对象 3 ...

  6. FAQ:win7和win8 64位注册ocx控件方法

    win7/win8 问题所在: 64位的系统一般都是可以安装32位程序的, 执行         C:\Windows\SysWOW64\regsvr32.exe 而不是 C:\Windows\Sys ...

  7. juce 中的ReferenceCountedObjectPtr

    提供了对引用计数对象的管理,其实也就是操作引用计数对象,当引用计数为零的时候将对象销毁,值得学习的是juce是如果将引用计数对象和它的智能指针结合在一起的,这个后面再加分析 //=========== ...

  8. OC语法10——@protocol协议,

    参考资料:博客 @protocol,协议: OC中protocol的含义和Java中接口的含义是一样的,它们的作用都是为了定义一组方法规范. 实现此协议的类里的方法,必须按照此协议里定义的方法规范来. ...

  9. Android Studio git ignore

    # Built application files *.apk *.ap_ # Files for the Dalvik VM *.dex # Java class files *.class # G ...

  10. hdu 5727 Necklace 二分图匹配

    题目链接 给2*n个珠子, n<=9, n个阴n个阳. 然后将它们弄成一个环, 阴阳交替.现在给你m个关系, 每个关系给出a, b. 如果阳a和阴b挨着, 那么a就会变暗. 问你最小变暗几个阳. ...