2011-09-12 92 views
0

我與基於struts2的應用 在我的JSP頁面表單提交的工作是強制要求使用s:形式(預定義的支柱組件)Struts2的:使用表單操作

,因爲當我嘗試過這種方式,它的工作(呼籲下struts.xml的Action類)

<s:form action="HelloWorld" > 
      <s:submit /> 
     </s:form> 

,但是當我試圖用正常的表單提交,如圖

<form action="HelloWorld"> 
<input type="Submit"/> 
</form> 

它不工作,它給了我404錯誤。

請告訴我是強制性的使用和數據提交??

回答

1

struts表單動作和HTML標記表單動作是不同的。您可以使用標準的HTML表單標籤與支柱,如果你創建一個支柱特定的URL,例如(把我的頭頂部):使用在多個地方

如果在生成URL,並調用這樣的 -

<s:url id="myActionUrl" action="HelloWorld" /> 

<form action="<s:property value="%{myActionUrl}" />"> 
    <input type="Submit"/> 
</form> 

或者使用單個實例 -

<form action="<s:url id="myActionUrl" action="HelloWorld" />"> 
    <input type="Submit"/> 
</form> 

你可以經常看頁面的源代碼在瀏覽器中看到Struts的生成和手動創建它這樣。您通常最終會使用額外的struts標籤(如屬性)從您的值棧中檢索值,但有時候這很有用,例如動態生成JavaScript代碼時。

+0

Sir可以使用ModelDriven <>的getModel()獲取(html)表單數據。 – masT

+0

我不確定你在問什麼。您可以獲取模型驅動操作中引用的對象的屬性,但不一定是HTML。看到這個例子:http://struts.apache.org/release/2.3.x/docs/model-driven.html –

1

不,不一定要使用任何S2標籤,但正如Russell所說,您需要複製正確的操作URL。

因爲默認的S2主題爲頁面添加了額外的HTML標記,所以在混合並匹配S2表單標籤和非S2 HTML表單標籤時,還需要小心一點。他們不要只是創建表單標籤 - 默認主題使用表格標籤來佈局表單。

1

您可以使用S:表單的形式和

<input type="Submit"/> 

可以通過

<button type="submit"/>