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