自定义方法的输入校验
-
对于通过
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; } -
校验方法的执行顺序
当在
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效果