2012-05-31 29 views
5

¿Qué bibliotecas AJAX funcionan bien con Spring MVC?AJAX con Spring MVC

Soy nuevo en el desarrollo con Spring y Spring MVC. De la documentación en http://www.springsource.org aún no entiendo qué marco AJAX Spring MVC tiene incorporado o qué API y herramientas de terceros pueden sugerirse que funcionen bien con el desarrollo de una aplicación Spring MVC.

Todas las recomendaciones son apreciadas.

Hice una búsqueda a través de discusiones SO anteriores sobre este tema, pero no obtuve una dirección clara.

Respuesta

8

La primavera es muy fácil de usar con Ajax. Si Jackson está en la ruta de clases Spring puede usarlo para devolver JSON a la persona que llama. Algo como esto:

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

continuación, puede utilizar jQuery (o su otro favorito librería javascript) para hacer una petición a http://myserver/my/path y manipular el objeto JSON resultante.

GSON de Google también es fácil de usar. Como en:

@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

Gracias por la respuesta detallada y el ejemplo. –

1

Spring no se ocupa de los marcos de Javascript, per se. No sé si Springsource hace una defensa de cualquier marco de JavaScript en particular o si son agnósticos. Ajax es realmente solo una técnica habilitada por la tecnología del navegador en combinación con el lenguaje Javascript y lo que importa es la capacidad de pasar algún tipo de datos serializados entre el cliente y el servidor. No es tan difícil cocinar tu propio framework AJAX básico e incluso puedes diseñar tu propia codificación de datos y no usar JSON o XML. Es aconsejable adoptar un marco y estándares existentes porque no desea mantener una gran cantidad de códigos auxiliares ni preocuparse por ellos, sino concentrarse en el problema que está tratando de resolver. Es por eso que hay muchos frameworks de Javascript que pueden hacer solicitudes asincrónicas y algunos tienen características y capacidades realmente agradables que hacen su vida más fácil, por ejemplo, jQuery proporciona una excelente manipulación DOM y una funcionalidad neutral para el navegador. Creo que usar Spring MVC en conjunto con la biblioteca Jackson JSON en el lado del servidor, y jQuery en el lado del cliente, es la base para una solución de extremo a extremo muy decente. He tenido mucho éxito con jQuery y jQuery-UI, pero otros frameworks de Javascript pueden funcionar igual de bien. Para aplicaciones complejas, básicamente terminas necesitando lo que equivale a un segundo MVC en el lado del cliente porque necesitas ese desglose entre los widgets UI y los datos que tienen que moverse entre el cliente y el servidor.

1

Spring JS es compatible con el framework JavaScript de Dojo. Spring Js

+0

Gracias por la información y el enlace. Estaba buscando apresuradamente en los documentos "AJAX", y no buscaba simplemente "JavaScript". (Aunque ahora veo que "AJAX" está en los documentos. No estoy seguro de cómo me lo perdí antes). –

2

Aquí es otro enfoque para dejar Spring MVC para trabajar con componentes de interfaz de usuario ZK - Rich Web Application with Spring MVC CRUD Demo

En ese artículo, se utiliza el controlador Spring MVC para comunicarse con los componentes de interfaz de usuario ZK. (todo en código de Java)