2011-06-25 10 views
3

Spring MVCでは、フォーム要素値を使用してコントローラメソッドを選択する方法はありますか?たとえば、2つのボタンの両方に "action"という名前のフォームがあるとします。とにかくjavascriptを使わずにユーザがクリックしたボタンに基づいて、異なるコントローラメソッドを実行する方法はありますか?SpringMVCでは、フォーム要素値を使用してコントローラメソッドを選択する方法はありますか?

答えて

5

はい、@RequestMapping(params="...")を使用します。 docsを参照してください。

パラメータ条件を使用してパスマッピングを絞り込むことができます。「myParam = myValue」スタイルの式のシーケンスで、このような各パラメータが特定の値を持つ場合にのみマップされます。例:

@Controller 
@RequestMapping("/owners/{ownerId}") 
public class RelativePathUriTemplateController { 

    @RequestMapping(value = "/pets/{petId}", params="myParam=myValue") 
    public void findPet(@PathVariable String ownerId, @PathVariable String petId, Model model {  
    // implementation omitted 
    } 
} 
関連する問題