- 类型转换器对请求参数执行类型转换,并把转换后的值赋给action中的属性;
- 如果在执行类型转换的过程中出现异常,系统会将异常信息保存到ActionContext,conversionError拦截常信息添加到fieldErrors里。不管类型转换是否出现异常,都会进入第3步;
- 系统通过反射技术先调用action中的validateXxx()方法,Xxx为方法名;
- 再调用action中的validate()方法;
经过上面4步,如果系统中的fieldErrors存在错误信息(即存放错误信息的集合的size大于0),系统自动将请求转发至名称为input的视图。如果系统中的fieldErrors没有任何错误信息,系统将执行action中的处理方法。
注:如果类型转换没有问题,但是仍是转到input视图,则判断类型转换是否出现异常;
如:生日:<input type="text" name="birthday" id="birthday"/><br />
对应的:
private Date birthday;
public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}没有任何校验方法,仍跳转到input页面: