Heim > Java > javaLernprogramm > Hauptteil

Wie kann ich ein komplexes Objekt als GET @RequestParam in Spring MVC binden?

Mary-Kate Olsen
Freigeben: 2024-11-20 15:48:13
Original
744 Leute haben es durchsucht

How Can I Bind a Complex Object as a GET @RequestParam in Spring MVC?

Spring MVC: Komplexe Objekte als GET @RequestParam binden

Problem:

Betrachten Sie a Szenario, in dem Sie eine Seite haben, die Objekte aus einer Tabelle auflistet. Sie müssen ein Formular hinzufügen, um die Tabelle mithilfe von Ajax-GET-Anfragen zu filtern, die an eine URL ähnlich der folgenden gesendet werden:

http://foo.com/system/controller/action?page=1&prop1=x&prop2=y&prop3=z
Nach dem Login kopieren

Anstatt zahlreiche @RequestParam-Parameter für die Controller-Methode zu verwenden, möchten Sie das Ganze binden Objekt direkt filtern.

Beispiel:

Angenommen, Sie haben eine MyObject-Klasse definiert als:

public class MyObject {
    private String prop1;
    private String prop2;
    private String prop3;

    // Getters and setters
    // ...
}
Nach dem Login kopieren

Ihre ideale Controller-Methode würde so aussehen:

@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
    @RequestParam(value = "page", required = false) int page,
    MyObject myObject)
Nach dem Login kopieren
Nach dem Login kopieren

Lösung:

Der Frühling bietet die Fähigkeit, Komplexe zu binden Objekte als @RequestParam-Parameter. Um dies zu erreichen, entfernen Sie einfach die Annotation @RequestParam aus Ihrem Methodenargument:

@RequestMapping(value = "/action")
public @ResponseBody List<MyObject> myAction(
    @RequestParam(value = "page", required = false) int page,
    MyObject myObject)
Nach dem Login kopieren
Nach dem Login kopieren

Spring bindet die Anforderungsparameter automatisch an Ihre MyObject-Instanz.

Das obige ist der detaillierte Inhalt vonWie kann ich ein komplexes Objekt als GET @RequestParam in Spring MVC binden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage