2012-05-31 15 views
5

Welche AJAX-Bibliotheken funktionieren gut mit Spring MVC?AJAX mit Feder MVC

Ich bin neu in der Entwicklung mit Spring und Spring MVC. Aus der Dokumentation unter http://www.springsource.org verstehe ich noch nicht, was AJAX Framework Spring MVC eingebaut hat oder welche APIs und Tools von Drittanbietern als gut für die Entwicklung einer Spring MVC-Anwendung vorgeschlagen werden.

Alle Empfehlungen sind willkommen.

Ich habe vorherige SO Diskussionen zu diesem Thema durchsucht, aber ich habe keine klare Richtung bekommen.

Antwort

8

Der Frühling ist super einfach mit Ajax zu verwenden. Wenn Jackson auf dem Klassenpfad ist, kann Spring es verwenden, um JSON an den Aufrufer zurückzugeben. Etwas wie folgt aus:

@RequestMapping("/my/path") 
public @ResponseBody MyObject doSomething(@RequestParam Long myVal) { 
    MyObject result = new MyObject(myVal); 
    // do something interesting 
    return result; 
} 

Dann können Sie jQuery (oder Ihren Favoriten JavaScript-Bibliothek) verwenden, um eine Anfrage zu http://myserver/my/path und behandeln die resultierende JSON-Objekt zu machen.

Googles GSON ist auch einfach zu bedienen. Wie in:

@RequestMapping("/my/path") 
public ResponseEntity<String> MyObject doSomething(@RequestParam Long myVal) { 
    MyObject result = new MyObject(myVal); 
    // do something interesting 
    HttpHeaders headers = new HttpHeaders(); 
    headers.set( "Content-Type", "application/json"); 
    String json = gson.toJson(result); 
    return new ResponseEntity<String>(json, headers, HttpStatus.CREATED); 
} 
+0

Vielen Dank für die detaillierte Antwort und Beispiel. –

1

Frühling befasst sich nicht mit Javascript Frameworks, per se. Ich weiß nicht, ob Springsource irgendeine Interessenvertretung für ein bestimmtes Javascript Framework oder ob sie Agnostiker sind. Ajax ist wirklich nur eine Technik, die durch die Browser-Technologie in Kombination mit der Javascript-Sprache ermöglicht wird, und was wichtig ist, ist die Fähigkeit, irgendeine Art von serialisierten Daten zwischen Client und Server zu übertragen. Es ist nicht so schwierig, Ihr eigenes grundlegendes AJAX-Framework zu erstellen, und Sie könnten sogar Ihre eigene Datencodierung entwerfen und nicht JSON oder XML verwenden. Es ist ratsam, einen bestehenden Rahmen und Standards zu übernehmen, weil Sie nicht viel Nebencode pflegen oder sich darum kümmern wollen, sondern sich auf das Problem konzentrieren, das Sie zu lösen versuchen. Aus diesem Grund gibt es viele Javascript-Frameworks, die asynchrone Anfragen ausführen können und einige haben wirklich nette Features und Funktionen, die Ihnen das Leben leichter machen. Zum Beispiel bietet jQuery exzellente DOM-Manipulation und browserneutrale Funktionalität. Ich denke, dass die Verwendung von Spring MVC in Verbindung mit der Jackson JSON-Bibliothek auf der Serverseite und jQuery auf der Clientseite die Grundlage für eine sehr gute End-to-End-Lösung ist. Ich hatte viel Erfolg mit jQuery und jQuery-UI, aber andere Javascript-Frameworks können genauso gut funktionieren. Bei komplexen Anwendungen benötigen Sie letztendlich auf der Client-Seite, was einem zweiten MVC entspricht, da Sie diese Aufteilung zwischen UI-Widgets und den Daten benötigen, die zwischen Client und Server verschoben werden müssen.

1

Spring JS unterstützt Dojo JavaScript Framework. Spring Js

+0

Vielen Dank für die Informationen und den Link. Ich habe gerade hastig in den Dokumenten nach "AJAX" gesucht und nicht einfach nach "JavaScript" gesucht. (Obwohl ich jetzt sehe, dass "AJAX" in der Dokumentation ist. Ich bin mir nicht sicher, wie ich es vorher verpasst habe.) –