2013-03-08 22 views
3

有什麼方法可以用Struts填充多個表單並使它們可用於JSP頁面?在Struts 1.x中填充多個表單JSP

我正在構建一個頁面,它有兩種不同的形式,需要從數據庫中預先填充自定義數據。兩種表格必須位於同一頁面上。

回答

3

是的,這是可能的。

您可以爲此問題指定多個ActionForm實現(首選)或僅使用一個 - 無論如何。

<nested:root name="myFirstForm"> 
    <nested:form action="/MyAction.do?method=foo" method="post"> 
     <%-- some code --%> 
    </nested:form> 
    <nested:form action="/MyAction.do?method=bar" method="post"> 
     <%-- some code --%> 
    </nested:form> 
</nested:root> 
<nested:root name="mySecondForm"> 
    <nested:form action="/MyAction.do?method=foobar" method="post"> 
     <%-- some code --%> 
    </nested:form> 
</nested:root> 

Apache的Struts的Newbie FAQ

問:我必須對每一個HTML形式的單獨的ActionForm Bean的?答:這是一個有趣的問題。作爲一個新手,爲每個動作序列創建一個新的ActionForm是一個好習慣 。

3

當您調用struts操作時,框架只會創建一個表單。這是與行動相關的形式。該表格可通過execute方法提供的參數獲取。

但是,JSP可能包含多個表單來執行多個操作。如果動作派發到JSP,則只處理一個表單以將標籤映射到表單bean的屬性。

但是,沒有任何東西阻止您在操作中創建其他表單實例,並通過EL表達式在JSP中手動處理它。表單bean的實例通過表單名稱更好地放在請求或會話中,因此可以通過EL表達式輕鬆訪問。