ActionForm的工作原理

來源:互聯網
上載者:User

剛學過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>

(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方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.