概述
刚学过ActionForm的工作原理,为了想更好的理解,想整理出来,也方便大家参考,有一下步骤:
(1)检查Action的映射,确定Action中已经配置了对ActionForm的映射。
代码
<
form-beans
>
< form-bean name ="loginForm" type ="#" ></ form-bean >
</ form-beans >
<!-- 两个name同名才行 -->
< action-mappings >
< action path ="#" type ="#" name ="loginForm" scope="request" validate="false" >
< forward name ="#" path ="#" ></ forward >
</ action >
</ action-mappings >
< form-bean name ="loginForm" type ="#" ></ form-bean >
</ form-beans >
<!-- 两个name同名才行 -->
< action-mappings >
< action path ="#" type ="#" name ="loginForm" scope="request" validate="false" >
< forward name ="#" path ="#" ></ forward >
</ action >
</ action-mappings >
(2)根据name,查找form-bean配置信息。
(3)检查Action的form bean的使用范围,确定在此范围下(request、session)是否已有Form bean实例。
(4)如当前范围下已存在form bean实例,而对当前请求来说,是同一类型的话,就重用它。
(5)否则重新构建一个form bean实例,并且调用构造方法,保持在一定的范围。
(6)form bean的reset()方法被调用
(7)调用对应的setter方法,对状态属性赋值
(8)如validatede属性设为true,那么就调用form bean的validatede()方法(服务器校验)
(9)如validatede()没有返回任何bug,控制器将Actionform作为参数,传给Action实例的execute()方法并执行
工作流程图如下:
说明:reset(),用于属性复位,控制给bean赋值之前用。
注:调用顺序:先调用构造方法->reset()->setter(),如果刷新页面,则会调用构造方法和reset方法
转载于:https://www.cnblogs.com/azai/archive/2010/03/15/1686694.html
最后
以上就是传统摩托为你收集整理的ActionForm工作原理的全部内容,希望文章能够帮你解决ActionForm工作原理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复