我正在嘗試學習Struts 2.0,並試圖更好地理解行爲的概念。我有一個表格,我想要預先加載值。用戶可以更改JSP中的值,然後提交表單,這將導致頁面顯示錶單中的數據。更好地理解Struts2的行爲
我得到它的工作,但不知道我的方法/邏輯是否正確。
的struts.xml的情況如下:
<action name="LoadForm" class="actions.Test" method="execute1">
<result>/Test.jsp</result>
</action>
<action name="ShowResult" class="actions.Test" method="execute2">
<result>/TestResult.jsp</result>
</action>
我使用prepare()
預加載值。
當我在瀏覽器中調用LoadForm.action
時,Test.jsp
會顯示預裝數據。
Test.jsp
有一個表單,其操作是ShowResult
。
當我提交表單時,它導航到TestResult.jsp
,其中我顯示錶單中的值。
這是一個正確的方法還是有更好的方法來做到這一點?
此外,我不確定爲什麼我們需要在Action類中有超過2個執行方法。
感謝您的回答Umesh。我需要再澄清一點。如何控制何時執行特定的執行方法?比方說,根據您的示例,我已將create(),update(),check()作爲三個方法,每個方法導致不同的JSP頁面。我如何調用讓我們從表單中更新update()? – codingsplash
一個簡單的方法就是從JSP中命名這樣的動作,比如說updateUser,當你將它映射到你的xml文件中時,你可以使用方法標籤,如 。Annotation也提供了同樣的方法,你可以在你的action標籤和url標籤中使用方法屬性 –
非常感謝Umesh! – codingsplash