Angenommen, ich habe eine Seite, auf der die Objekte in einer Tabelle aufgelistet sind, und ich muss ein Formular einfügen, um die Tabelle zu filtern. Der Filter wird als Ajax GET an eine folgende URL gesendet: http://foo.com/system/controller/action?page=1&prop1=x&prop2=y&prop3=z
Und anstatt viele Parameter auf meinem Controller zu haben, wie:
@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) { ... }
Und angenommen, ich habe MyObject als:
public class MyObject {
private String prop1;
private String prop2;
private String prop3;
//Getters and setters
...
}
Ich möchte so etwas tun wie:
@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
@RequestParam(value = "page", required = false) int page,
@RequestParam(value = "myObject", required = false) MyObject myObject,) { ... }
Ist es möglich? Wie kann ich das machen?
@ModelAttribute
, Spring MVC - Formular Beispiel Handhabung . Google einfach " Spring MVC Form Handling " und du bekommst eine Menge Tutorials / Beispiele. Verwenden Sie jedoch unbedingt die moderne Art der Formularbearbeitung, z. B. Spring v2.5 +
@ModelAttribute
im Frühjahr MVC