テーブルのオブジェクトを一覧表示するページがあり、テーブルをフィルター処理するフォームを配置する必要があるとします。フィルターは、Ajax GETとして次のようなURLに送信されます。http://foo.com/system/controller/action?page = 1&prop1 = x&prop2 = y&prop3 = z
そして、私のようなコントローラにたくさんのパラメータを置く代わりに:
@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
@RequestParam(value = "page", required = false) int page,
@RequestParam(value = "prop1", required = false) String prop1,
@RequestParam(value = "prop2", required = false) String prop2,
@RequestParam(value = "prop3", required = false) String prop3) { ... }
そして、私がMyObjectを持っていると仮定すると:
public class MyObject {
private String prop1;
private String prop2;
private String prop3;
//Getters and setters
...
}
私は次のようなことをしたいです:
@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
@RequestParam(value = "page", required = false) int page,
@RequestParam(value = "myObject", required = false) MyObject myObject,) { ... }
出来ますか?どうやってやるの?
@ModelAttribute
、Spring MVCフォーム処理の例。「Spring MVCフォームの処理」をググると、大量のチュートリアル/例が表示されます。ただし、必ず最新のフォーム処理方法を使用して
@ModelAttribute
春MVCで