ActionForm的作用機理:
ActionForm本質上是一種JavaBean,是專門用來傳遞表單數據的DTO(Data Transfer Object,數據傳遞對象)。它包括用於表單數據驗證的validate()方法和用於數據復位的reset()方法。
Struts框架利用ActionForm對象來臨時存放視圖頁面中的表單數據。例如,一個登錄頁面會有一個用戶名輸入框和一個密碼輸入框,以及用來提交登錄請求的按扭。當用戶提交登錄請求後,Struts將 用戶名和密碼兩個輸入域的數據自動填充到相應的ActionForm對象中,然後控制層可以從該ActionForm對象中讀取用戶輸入的表單數據,也可以把來自模型層的數據存放到ActionForm中,然後返回給視圖顯示。
ActionForm有(request)和(session)兩種作用域(scope)。如果ActionForm的作用域設定為request,ActionForm實例將保存在request對象中,像其他保存在request對象中的屬性一樣,僅在當前請求範圍內有效。如果ActionForm的作用域設定為session,那么ActionForm實例將被保存在session對象中,同一個ActionForm實例在整個HTTP會話中有效。
ActionForm配置
所有的ActionForm都被配置在struts-config.xml檔案中,該檔案包括了一個form-beans的元素,
該元素內定義了所有ActionForm,每個ActionForm對應一個form-bean元素。