• Struts2-学习笔记系列(13)-类型转换异常和校验器


    Struts2框架有默认的类型转换错误拦截机制,该配置在struts-default.xml中,名叫conversionError,但是想使用需要继承ActionSupport.

    默认的错误提示信息是英语的,若是想自定义,需要修改国际化文件:

    mess.properties:

    xwork.default.invalid.fieldvalue={0}字段类型转换失败!

    对于对象的字段进行提示的话,需要使用局部action属性文件,并制定对应的字段名称

    invalid.fieldvalue.user.birth=生日信息必须满足yyyy-MM-dd格式

     

    在交互的时候,经常会有录入错误的情况。若是在服务器端捕获错误,可以使用默认的校验器。

    Struts2提供了非常多的类型校验器:比如网址、邮件、数字等。当然,除了在创建专门的校验规则文件外,还可以使用基于注解的校验器:

    @RequiredStringValidator(key = "name.required",message = "请输入用户名")
    public String getName() {
        return name;
    }

    重写积累的validate方法

    @Override
    public void validate() {
        if(!name.toString().contains("zcx")){
            addFieldError("user","用户名必须包含zcx");
        }
    }

    另外struts还提供了验证validateXxxx技术。其中Xxxxx表示action中的某一个方法

    Struts2校验的步骤:
    1.类型转换器负责把参数进行转换,并设置成action的属性值

    2.执行转换过程中的异常。若是出现异常,保存到actioncontext中,conversionError拦截器将其封装到filederror字段,执行第3步;若是没异常,直接到第3步

    3.使用struts配置的校验器进行校验

    4.通过反射调用validateXxxx方法

    5.调用action类中的validate方法

    6.若是前5步都没异常,直接调用本次请求的action;否则转入input逻辑视图对应的视图资源

  • 相关阅读:
    WAMPP安装后mysql无法启动
    转:xampp-php5.6下安装memcached.exe
    apache配置多域名多站点记录
    抽象类
    this关键字
    static关键字
    super关键字
    Set
    Map
    List
  • 原文地址:https://www.cnblogs.com/zijiyanxi/p/5559724.html
Copyright © 2020-2023  润新知