es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo redirigir a una página jsp desde mi controlador?

Hice algunas búsquedas antes de esto y no encontré nada que se ajuste a mi pregunta. Tengo una aplicación de Sprint Boot con una página inicial que, cada vez que un usuario va a index.jsp, añade un número a un contador de visitantes. Pueden ir a la página counter.jsp y se mostrará el recuento actual y un enlace “Prueba otra visita”. Hay otra página counter2.jsp que, si un usuario la visita, le da el recuento actual más una visita adicional añadida. Un enlace “reset” en cada página debe reiniciar el contador a 0 y devolver al usuario a /counter o /counter2 según la página en la que hayan hecho clic en el botón de reinicio.

Tengo el siguiente Método de Controlador Rest:
@RequestMapping("/reset")
public String reset(HttpServletRequest request, HttpSession session) {
String redirectUrl = "";
if(request.getRequestURL().toString().contains("/counter")) {
session.setAttribute("current", 0);
redirectUrl = "redirect:/counter";
} else if (request.getRequestURL().toString().contains("/counter2")) {
session.setAttribute("current", 0);
redirectUrl = "redirect:/counter2";
}
return redirectUrl;
}

Lo que me da este error:
Imagen del error

¿Alguien puede decirme qué estoy haciendo mal y cómo solucionarlo? Soy nuevo en Spring.

Gracias,

Disculpen de antemano si de alguna manera “hice” mal mi pregunta, sé que algunos se molestan por eso.

También, esto no es para una tarea, solo es práctica personal.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Según el mensaje de error, parece que estás intentando utilizar una barra diagonal (/) en tus URLs de redireccionamiento. Intenta cambiar tus URLs de redireccionamiento para utilizar una doble barra diagonal (//) en su lugar, de esta manera:

    redirectUrl = "redireccionar://contador";

    redirectUrl = "redireccionar://contador2";

    Además, asegúrate de que tu controlador esté correctamente mapeado para manejar estas solicitudes. Puedes agregar las anotaciones @GetMapping("/contador") y @GetMapping("/contador2") a los métodos de tu controlador para garantizar que se mapeen correctamente a las URLs correspondientes.

    Si estos cambios no resuelven el problema, es posible que necesites proporcionar más información sobre los detalles del mensaje de error y el código circundante.

Comments are closed.