これまで、私はjQuery AJAX (または XMLHttp) を使用しPUTてHTTP メソッドを処理し、Springを含めてきました (現在、Spring 3.2.0 を使用しています)。これらのメソッドの使用に関して、1 つの一般的な質問があります。DELETEHiddenHttpMethodFilterGETPOST
基本的に、単一のフォームを使用して同じページ (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>
実行時に動的に行う可能性はどのくらいありますか?