Saltar al contenido

¿Cómo devolver un objeto desde un controlador Spring MVC en respuesta a una solicitud de AJAX?

No olvides que en las ciencias informáticas un problema casi siempre tiene varias resoluciones, así que nosotros enseñaremos lo más óptimo y eficiente.

Solución:

necesito esta lista de empleados en ajax

En primavera, cuando necesite serialización de objetos, deserialización y conversión de mensajes. en ese caso, debe anotar el método del controlador del controlador con @RequestBody y @ResponseBody.

Dónde:

  • @ResponseBody : informará a Spring que intente convertir su valor de retorno y lo escribirá en la respuesta http automáticamente.
  • @RequestBody : informará a Spring que intente convertir el contenido del cuerpo de la solicitud entrante en su objeto de parámetro sobre la marcha.

en su caso necesita el tipo JSON, debe agregar @ResponseBody a la firma de su método o justo encima del método, y produce y consume, que son opcionales, como:

@RequestMapping(value="phcheck", method=RequestMethod.GET
                produces="application/json")
public @ResponseBody List pay(@RequestParam("empid") int empid, String fdate, String tdate) 

  //get your employee list here
  return empList;

y en el uso de llamadas AJAX:

  • contentType: 'application/json' attribute dice el tipo de datos que estás enviando. y
  • dataType: json attribute le dice a jquery qué tipo de contenido de respuesta recibirá.

en tu caso contentType: 'application/json' no es necesario, por defecto uno es decir 'application/x-www-form-urlencoded; charset=UTF-8' es suficiente.

y puede recibir una lista de empleados en su éxito de AJAX, para iterarlo, haga lo siguiente:

  success: function (data) 
          $.each(data, function(index, currEmp) 
             console.log(currEmp.name); //to print name of employee
         );    
        ,


Nota: El mapeador Jackson o cualquier otro mapeador debe estar disponible en buildpath para poder serializar y deserializar JSON.

Ver también:

  • Nuevas características en spring mvc 3.1
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *