Action的作用包括封裝業務邏輯、處理用戶數據、執行異步操作、組織複雜邏輯、提供數據傳遞中介、確定顯示頁面等。以下是相關介紹:
封裝業務邏輯。Action組件使用execute()方法來控制業務邏輯,這個方法只關注與請求有關的工作邏輯,Action包含業務邏輯,至少是業務邏輯的入口點,並且動作應該讓業務邏輯儘可能的簡單。
處理用戶數據。Action可以指定在提交HTML表單時要將數據傳送到的URL,定義了表單數據將被傳送到的伺服器端腳本或處理程式的地址,使用action屬性,我們可以將用戶輸入的數據傳送到伺服器進行處理,例如將數據存儲到資料庫或執行其他操作。
執行異步操作。在某些情況下,如Vuex的mutations只能處理同步操作,而無法處理異步操作時,actions提供了一種機制來處理異步操作,例如異步API請求,你可以在actions中執行異步操作,等待異步操作完成後再調用mutation來修改狀態。
組織複雜邏輯。actions提供了一個地方來封裝和組織這樣的複雜邏輯,你可以在actions中對狀態進行條件判斷,並根據情況調用不同的mutation方法。
提供數據傳遞中介。Action還可以確定要顯示的頁面,確定要顯示的方式是以返回一個字元串然後和struts.xml的配合來完成的。
確定顯示頁面。Action還可以用於實現一些通用的功能,比如批量處理,遍歷集合等,通過傳遞一個Action對象作為參數,可以在不暴露內部實現細節的情況下,將需要執行的邏輯傳遞給一個方法或類。