2012-05-31 2 views
5

Jakie biblioteki AJAX dobrze współpracują ze Spring MVC?AJAX ze sprężyną MVC

Jestem nowy w rozwijaniu z Spring and Spring MVC. Z dokumentacji pod adresem http://www.springsource.org nie rozumiem jeszcze, co ma wbudowane środowisko AJAX Spring MVC lub jakie interfejsy API i narzędzia innych producentów mogą być sugerowane jako działające dobrze przy tworzeniu aplikacji Spring MVC.

Wszystkie zalecenia są mile widziane.

Przeszukałem poprzednie dyskusje na ten temat na ten temat, ale nie otrzymałem żadnego wyraźnego kierunku.

Odpowiedz

8

Wiosna jest bardzo łatwa w użyciu z Ajax. Jeśli Jackson jest na ścieżce klas, Spring może go użyć do zwrócenia JSON do osoby dzwoniącej. Coś takiego:

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

Następnie można użyć jQuery (lub inny ulubiony javascript library), aby złożyć wniosek do http://myserver/my/path i uchwyt wynikowy obiekt JSON.

Google GSON jest również łatwy w użyciu. Tak jak w:

@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

Dziękujemy za szczegółową odpowiedź i przykład. –

1

Wiosna nie zajmuje się ramami Javascript, per se. Nie wiem, czy Springsource robi jakieś poparcie dla jakiegoś konkretnego kodu JavaScript, czy też jest agnostyczny. Ajax to tak naprawdę technika udostępniana przez technologię przeglądarkową w połączeniu z językiem JavaScript, a ważna jest możliwość przekazania pewnych spersonalizowanych danych między klientem a serwerem. Nie jest trudno przygotować własne podstawowe środowisko AJAX, można nawet zaprojektować własne kodowanie danych, a nie używać JSON lub XML. Dobrze jest przyjąć istniejące ramy i standardy, ponieważ nie chcesz utrzymywać dużej ilości dodatkowego kodu lub martwić się o niego, a zamiast tego skupić się na problemie, który próbujesz rozwiązać. Dlatego istnieje wiele frameworków JavaScript, które mogą wykonywać asynchroniczne żądania, a niektóre mają naprawdę ładne funkcje i możliwości, które ułatwiają życie, na przykład jQuery zapewnia doskonałą manipulację DOM i neutralną dla przeglądarki funkcjonalność. Myślę, że używanie Spring MVC w połączeniu z biblioteką Jackson JSON po stronie serwera i jQuery po stronie klienta jest podstawą bardzo przyzwoitego rozwiązania typu end-to-end. Miałem dużo sukcesów z jQuery i jQuery-UI, ale inne struktury JavaScript też mogą działać równie dobrze. W przypadku złożonych aplikacji, w zasadzie potrzebujemy co najmniej drugiego MVC po stronie klienta, ponieważ potrzebujesz podziału między widgetami interfejsu użytkownika i danymi, które muszą się przemieszczać między klientem a serwerem.

1

Spring JS obsługuje framework Dojo JavaScript. Spring Js

+0

Dziękujemy za informacje i link. Po prostu spoglądałem w dokumentach na "AJAX" i nie patrzyłem po prostu na "JavaScript". (Chociaż teraz widzę, że "AJAX" jest w dokumentach. Nie jestem pewien, jak przedtem tęskniłem.) –