これまで、私はjQuery AJAX (または XMLHttp) を使用しPUT
てHTTP メソッドを処理し、Springを含めてきました (現在、Spring 3.2.0 を使用しています)。これらのメソッドの使用に関して、1 つの一般的な質問があります。DELETE
HiddenHttpMethodFilter
GET
POST
基本的に、単一のフォームを使用して同じページ (JSP) でINSERT
、EDIT
、UPDATE
およびのような基本的なデータベース操作を実行したいと考えています。このシナリオでは、適切なアクションでこれらのメソッドをトリガーすることは可能ですか?UPDATE
たとえば、ユーザーが削除ボタンDELETE
を押すとメソッドが呼び出され、更新ボタンが押さPUT
れるとメソッドがトリガーされ、挿入ボタンが押さPOST
れるとメソッドが呼び出され、データの取得中にメソッドが呼び出されるGET
必要があります。使用され、それに応じて、コントローラーにマップされている適切なメソッドを呼び出す必要があります (ここでも単一のフォームを持つ同じページで<form:form>...</form:form>
)。
もちろん、AJAX を使用することも可能ですが、どこでも AJAX を使用するのは適切ではありません。
RESTFul API のいくつかの重要な側面が欠けている可能性があります。どうやら、それは(無意識のうちに)不可能です。実際の答えは何ですか?
編集:
メソッドを処理したいPUT
場合、Spring フォームは次のようになります。
<form:form id="mainForm" name="mainForm" method="put" action="Temp.htm" commandName="tempBean" enctype="multipart/form-data">
<input type="submit" id="btnSubmit" name="btnSubmit" value="Submit"/>
</form:form>
生成された HTML は次のようになります。
<form id="mainForm" name="mainForm" action="Temp.htm" method="post" enctype="multipart/form-data">
<input type="hidden" name="_method" value="put"/>
<input type="submit" id="btnSubmit" name="btnSubmit" value="Submit"/>
</form>
非表示<input type="hidden" name="_method" value="put"/>
フィールドは、PUT
メソッドによって処理されるように自動的に追加されます。HiddenHttpMethodFilter
メソッドを呼び出す必要がある場合DELETE
は、フォームとその生成された HTML をそれぞれ次のように変更する必要があります。
<form:form id="mainForm" name="mainForm" method="delete" action="Temp.htm" commandName="tempBean" enctype="multipart/form-data">
<input type="submit" id="btnSubmit" name="btnSubmit" value="Submit"/>
</form:form>
生成された HTML
<form id="mainForm" name="mainForm" action="Temp.htm" method="post" enctype="multipart/form-data">
<input type="hidden" name="_method" value="delete"/>
<input type="submit" id="btnSubmit" name="btnSubmit" value="Submit"/>
</form>
実行時に動的に行う可能性はどのくらいありますか?