Saltar al contenido

¿Cómo usar spring4 @RestController para devolver una página jsp?

Solución:

No deberías. A @RestController no está destinado a devolver los nombres de las vistas a través de un String tipo / valor de retorno. Está destinado a devolver algo que se escribirá directamente en el cuerpo de la respuesta.

Más concretamente (en el caso de configuración general), Spring MVC configura sus controladores de valor de retorno en RequestMappingHandlerAdapter#getDefaultReturnValueHandlers(). Si observa esa implementación, el controlador de String ver nombres, ViewNameMethodReturnValueHandler, Esta registrado después el manejador de @RestController (De Verdad @ResponseBody), RequestResponseBodyMethodProcessor.

Si realmente es necesario, puede declarar que su método tenga un tipo de retorno de View o ModelAndView (los manejadores de estos, ViewMethodReturnValueHandler y ModelAndViewMethodReturnValueHandler, están registrados antes RequestResponseBodyMethodProcessor) y devolver el objeto apropiado, con un nombre de vista de identificación.

En realidad, @ RestController también podría devolver la vista …

Después de un día de investigación y lectura del documento, obtuve una solución.

Permítanme compartir la solución con todos:

Primero, establezca el tipo de retorno del método del controlador en “ModelAndView”

En segundo lugar, establezca su ruta de vista de esta manera

ModelAndView mav = new ModelAndView("userCenter/loginPage");

Finalmente

return mav;

Obtendría el contenido de vista de página jsp correcto

¡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 *