• struts2的编程式的非空验证


    1.首先有一个Action类,如下:

    public class RegAction extends ActionSupport {

     private static final long serialVersionUID = 7198855508667163247L;

     private String name;

     public String getName() {   return name;  }

     public void setName(String name) {   this.name = name;  }

       public String toReg() {  

         System.out.println("toReg");  

         return "toReg";  

       }

           public String reg() {  

         System.out.println("reg");  

         return "reg";  

       }

     public void validate() {  

       if(this.name == null || this.name.trim().length() == 0){   

         this.addFieldError("message", "必选项");   

       }   super.validate();  

     }

    }

    如果这样写的话,validate方法会对以上的toReg() 和reg()都进行验证,

    指定针对某个方法进行验证的方法有3中:

      1. 在不进行校验的方法上加上注解 : @SkipValidation,这样这个方法就不会进行校验了

        eg: 如下就不会对toReg方法进行验证

        @SkipValidation

        public String toReg() {
            System.out.println("toReg");
            return "toReg";
          }

      2. 把validate方法后面加上要验证的方法名字,注意验证的方法名字首字母要大写: validateReg ,或者validateDoReg,这样就只会对reg方法进行验证

      eg: 如下只会对reg方法进行验证

      public void validateReg() {
        if(this.name == null || this.name.trim().length() == 0){
           this.addFieldError("message", "必选项");
        }
          super.validate();
       }

      3. 在struts.xml文件中覆盖默认栈(defaultStack)中的validation中的excludeMethods属性,把不需要验证的方法写到<params></params>中,这样的话就不会对标签<params>中的方法进行验证了.

      eg:<interceptor-ref name="defaultStack">
            <param name="validation.excludeMethods">input,back,cancel,browse,toReg</param>
         </interceptor-ref>

  • 相关阅读:
    SQLAlchemy技术文档(中文版)(全)
    Python 学习 第17篇:sqlalchemy 读写SQL Server数据库
    环境:Pycharm2019.1 + Win10 + Python3.7.3
    PyInstaller打包python脚本的一些心得
    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
    简单使用xlwt
    python xlwt写入excel操作
    Python中xlrd模块解析
    python使用pip离线安装库
    pip的基本使用和离线安装Python第三方库
  • 原文地址:https://www.cnblogs.com/liyajie/p/3023530.html
Copyright © 2020-2023  润新知