对于每一个客户请求,Struts framework在处理ActionForm的时候,一般需要经历如下几个步骤:
n 检查Action的映射,确定Action中已经配置了对ActionForm的映射
n 根据name属性,查找form bean的配置信息
n 检查Action的formbean的使用范围,确定在此范围下,是否已经有此form bean的实例。
n 假如当前范围下,已经存在了此form bean的实例,而是对当前请求来说,是同一种类型的话,那么就重用。
n 否则,就重新构建一个form bean的实例
n form bean的reset()方法备调用
n 调用对应的setter方法,对状态属性赋值
n 如果validate的属性北设置为true,那么就调用form bean的validate()方法。
n 如果validate()方法没有返回任何错误,控制器将ActionForm作为参数,传给Action实例的execute()方法并执行。
注意:直接从ActionFrom类继承的reset()和validate()方法,并不能实现什么处理功能,所以有必要自己重新覆盖。