2011-07-12 7 views
5

私のJSPに2つの送信ボタンがあります。コントローラー側の操作を区別する方法は本当に分かりません。スプリングコントローラで同じフォームから2つの異なるサブミット操作を処理する方法

<form:form modelAttribute="emp" action="/empl" method="POST"> 
    <input type="submit" name="operation" value="Remove"/> 
    <input type="submit" name="operation" value="Add" /> 
</form:form> 

@RequestMapping(value = "/empl", method = RequestMethod.POST) 
public String getD(@Valid Em form, BindingResult result, Model model) {//code} 

、ボタンの記事をそれぞれ正しく「操作の追加」または「操作の削除」とともに値のいずれかのにOnclick、それが呼び出されるデフォルトの方法ですので、作品を追加します。今、どのように私は操作パラメータをキャッチし、操作を区別し、それを使用するのですか?

答えて

6

ブラウザは、押された送信ボタンの名前を含むリクエストパラメータを提供します。これらを使用して、フィルタリングすることができます。

@RequestMapping(value="/empl", method=RequestMethod.POST, params="operation=Remove") 
public String remove(@Valid Em form, BindingResult result, Model model) 

@RequestMapping(value="/empl", method=RequestMethod.POST, params="operation=Add") 
public String add(@Valid Em form, BindingResult result, Model model) 

これらはそれぞれ、必要に応じて共有ロジックを呼び出すことができます。

+0

ねえ、それは動作します!どうもありがとうございました :) – sara

関連する問題