Spring MVC 3 のアノテーションスタイルで、複数の Submit ボタンがあるフォームに対応する
このようなフォームがあったとします。
<form action="/add/confirm" method="post"> <p><input type="text" name="name" /></p> <p><input type="text" name="age" /></p> <p> <input type="submit" name="confirm" value="確認" /> <input type="submit" name="back" value="戻る" /> </p> </form>
これに対応する Controller のアノテーションは以下になります。params = "back" の部分がキモになります。
@RequestMapping(value = "/add/confirm", method = RequestMethod.POST) public String addConfirm(@ModelAttribute User user, BindingResult result, SessionStatus status) { return "confirm"; } @RequestMapping(value = "/add/confirm", method = RequestMethod.POST, params = "back") public String backToList() { return "list"; }
see also:
- Spring Framework Documentation 15. Web MVC framework