[英]What is the use for form beans vs form action in struts1?
例如,如果表單 bean 用於存儲通過action="submitDetailForm"
連接的 JSP 表單的變量,那么ActionForm
的用途是什么?
我正在開發的應用程序令人困惑的是它有 forms 是實際的 bean,但有一個解析請求結果的 bean 文件夾。
Forms 映射到動作。 它們屬於哪個文件夾並不重要。 有時表單 bean 的類與操作 bean 位於同一文件夾中,有時表單 bean 位於單獨的文件夾中。 使用哪個文件夾可以在struts-config.xml
中找到。
如果您閱讀Struts struts-config.xml 動作映射說明,一切都會變得清晰:
<form-bean>
的type
屬性用於輸入可能會擴展ActionForm
的 bean class 的 FQCN。 Struts 需要它能夠在需要時實例化 bean。
您還可以閱讀本文以快速了解Struts框架:
struts-config.xml
文件可以有幾個部分。 我們要看的第一部分是<action-mappings>
部分。<action>
告訴 Struts 從ActionServlet
調用哪個 class 。 只有path
和type
是必填項。 該type
告訴 Struts 當找到path
的 model 的 URL 時調用哪個Action
class。為了在
<action-mappings>
部分中輸入 class 並由ActionServlet
調用,它必須擴展 classorg.apache.struts.action.Action
。ActionServlet
將執行Action
object 的perform()
方法。 perform 方法如下所示:public ActionForward perform(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
ActionMapping
和ActionForm
對象將包含在struts-config.xml
<action-mappings>
和<form-beans>
部分中找到的信息。HttpServletRequest
和HttpServletResponse
對象來自 servlet。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.