actionform有八個步驟:
(1)檢查Action的映射,確定Action中已經配置了對ActionForm的映射
<form-beans>
<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>
(2)根據name,查找form bean的配置信息
(3)檢查Action的form bean的使用範圍,確定在此範圍下(request、session)是否已有Form bean實例
(4)如當前範圍下已存在form bean實例,而對當前請求來說,是同一類型的話,就重用它。
否則重新構建一個form bean實例,並且調用構造方法,保持在一定的範圍。
(5)form bean的reset()方法被調用
(6)調用相應的setter()方法,對相應的屬性賦值
(7)如validatede屬性設爲true,那麼就調用form bean的validatede()方法(服務器校驗)
(8)如validatede()沒有返回任何bug,控制器將Actionform作爲參數,傳給Action實例的execute()方法並執行
工作流程圖: