Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

303
Visualizações
Cómo renderizar una vista usando AJAX en Spring MVC

Estoy usando Spring MVC y necesito hacer una llamada asíncrona al servidor y actualizar solo una parte de la página.

Lo que realmente tengo es un controlador que devuelve una cadena. Llamo al Controlador usando la función JQuery ( .post() ).

El problema con mi solución es que no puedo representar un JSP como lo hago cuando uso ModelAndView como tipo de retorno.

¿Hay alguna forma de devolver una vista ya renderizada?

Gracias por adelantado.

Neuquino

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Esta respuesta es solo para confirmar que la respuesta de axtavt funciona. Me tomó un minuto darme cuenta de lo que estaba sugiriendo, así que pensé en publicar un fragmento de código para ayudar a cualquiera que venga detrás de mí. Sin embargo, ¡felicitaciones para él! :)


MiControlador.java

 @Controller public class MyController { @RequestMapping( method=RequestMethod.GET, value="/mainView" ) public ModelAndView getMainView( ... ) { /* do all your normal stuff here to build your primary NON-ajax view * in the same way you always do */ } /* this is the conroller's part of the magic; I'm just using a simple GET but you * could just as easily do a POST here, obviously */ @RequestMapping( method=RequestMethod.GET, value="/subView" ) public ModelAndView getSubView( Model model ) { model.addAttribute( "user", "Joe Dirt" ); model.addAttribute( "time", new Date() ); return new ModelAndView( "subView" ); } }


mainView.jsp

 (...) <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script type="text/javascript"> function doAjaxPost() { $.ajax({ type: "GET", url: "subView", success: function(response) { $("#subViewDiv").html( response ); } }); } </script> <input type="button" value="GO!" onclick="doAjaxPost();" /> <div id="subViewDiv"></div> (...)


subView.jsp

 (...) <h3> User Access Details </h3> <p> ${user} accessed the system on ${time} </p> (...)


¡Y eso es! Una cosa de belleza; hasta ahora, hacer AJAX en Spring ha sido un gran dolor... analizar grandes @ResponseBody's, construir grandes conjuntos de HTML concatenando cosas en JS... ugh... No puedo creer lo simple e increíble que es este enfoque - ¡y no lo sabía hasta ahora! :)

over 4 years ago · Santiago Trujillo Relatório

0

Puede colocar esta parte de la página en un JSP separado y devolver un ModelAndView que lo apunte desde su método. No hay diferencia entre las llamadas AJAX y no AJAX desde ese punto.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda