2011-09-12 4 views
0

を使用するのを使用することが必須である:フォーム(事前定義された支柱成分)Struts2の:私はフォームの送信のための私のJSPページ内Struts2のベースのアプリケーション で働いていますフォームアクション

私はこの方法を試したとき、それが働いているので( struts.xml下のActionクラス)

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

を呼び出すしかし、私はそれが動作していない

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

を示すように、通常のフォーム送信を使用しようとしたとき、それは与えました私は404エラー。

データの送信に必須であることを教えてください。

答えて

1

ストラットフォームアクションとHTMLタグフォームアクションが異なります。複数の場所で使用する場合は、

でURLを生成し、このように呼んで -

:あなたは(私の頭の上から)例えばストラットの特定のURLを作成する場合、支柱と、標準のHTMLフォームタグを使用することができます
<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"/> 

のフォームは、それはそれは、追加の提供何をit.Struts2タグから必要で、使用するかについてではありません

<button type="submit"/> 
関連する問題