Struts2的Action中自定义方法的输入校验

自定义方法的输入校验

  1. 对于通过 action​ 的 method​ 属性所指定的自定义方法 myExecute​ ,其对应的自定义输入校验方法名为 validateMyExecute​ 。 (底层是通过反射调用的)

    public void validateMyExecute() {
    	System.out.println("validateMyExecute invoked");
    
    	 this.addActionError("action error");
    }
    
    public String myExecute() throws Exception {
    	System.out.println("myExecute invoked");
    	return SUCCESS;
    }
    
  2. 校验方法的执行顺序

    当在 Action​ 中指定了自定义的 execute​ 方法时,首先会执行自定义的 execute​ 方法所对应的输入校验方法,然后再去执行 validate​ 方法,执行完毕之后如果出现了任何错误都不会再去执行自定义的 execute​ 方法,流程转向了 input​ 这个名字所对应的页面上。

    public void validateMyExecute() {
    	System.out.println("validateMyExecute invoked");
    
    	 this.addActionError("action error");
    }
    
    @Override
    public void validate() {
    	System.out.println("validate invoked");
    
    	// this.addActionError("action error");
    }
    
    @Override
    public String execute() throws Exception {
    	return SUCCESS;
    }
    
    public String myExecute() throws Exception {
    	System.out.println("myExecute invoked");
    	return SUCCESS;
    }
    // validateMyExecute invoked
    // validate invoked
    

    效果


Terwer...大约 2 分钟后端开发Struts2方法自定义校验执行输入信息customvalidatemsgmessage
Java_SE_第七讲:流程控制续
  1. Java 中的循环控制语句一共有 3 种,分别是 whiledo… while 以及 for 循环。

  2. while 循环,形式为:

    while(布尔表达式)    {  
    //待执行的代码   
    }
    
  3. do…while 循环,新式为:

    do{  
    //待执行的代码    
    } while(布尔表达式);
    
  4. while 与 do…while 之间的区别:

    如果布尔表达式的第一次判断就为 false,那么 while 循环一次也不执行;do…while 循环则会执行一次。如果布尔表达式第一次判断为 true,那么 while 循环与 do…while 循环等价。

  5. for 循环(使用最多的一种循环),形式为:

    for(变量初始化; 条件判断; 步进) {  
    //待执行的代码    
    }
    

    for 循环的执行过程:

    1) 执行变量初始化。

    2) 执行条件判断。如果条件判断结果为假,那么退出 for 循环,开始执行循环后面的代码;如果条件判断为真,执行 for 循环里面的代码。

    3) 执行步进。

    4) 重复步骤 2。


Terwer...大约 2 分钟后端开发JavaSE循环执行判断代码布尔flowcontrolcontinuejavase
Java_SE_第六讲:流程控制语句
  1. 条件运算符(三元表达式),其形式为:

    type d = a ? b : c;

    具体化形式为:

    int d = 2 < 1 ? 3 : 4;

  2. 轻量级的文本编辑器:UltraEdit 、Editplus 、vi 、vim 、gvim

  3. 流程控制语句 if 的用法为:

第一种形式:

if(布尔表达式) { 
//待执行的代码 
}

Terwer...大约 2 分钟后端开发JavaSE执行代码表达式形式布尔flowcontrolstatement