Este mensaje Mi ser marcados como asp.net pero creo que es una cuestión independiente de la plataforma que duele todos los nuevos desarrolladores web a medida que buscan una forma 'limpia' para hacer esto.
creo que las dos opciones para lograr esto son:
- Un parámetro en la URL
- Un URL almacenada en la sesión
no me gusta el método de URL, se es un poco desordenado, y debe recordar incluir el parámetro en cada URL relevante.
Solo usaría un objeto con métodos estáticos para esto. El objeto se ajustaría al elemento de la sesión que utiliza para almacenar direcciones URL de redireccionamiento.
Los métodos probablemente serían los siguientes (todas public static):
- setRedirectUrl (String url)
- doRedirect (cadena defaultURL)
setRedirectUrl sería llamado en cualquier acción que produce enlaces/formularios que necesitan redirigir a una URL determinada. Así que supongamos que tiene una acción de vista de proyectos que genera una lista de proyectos, cada uno con tareas que se pueden realizar en ellos (por ejemplo, eliminar, editar) que llamaría a RedirectClass.setRedirectUrl ("/ project/view-all") en el código para esta acción.
Entonces digamos que el usuario hace clic en eliminar, necesitan ser redirigidos a la página de vista después de una acción de eliminación, por lo que en la acción de eliminar llamaría a RedirectClass.setRedirectUrl ("/ project/view-all"). Este método vería si la variable de redirección se configuró en la sesión. Si es así, redirija a esa URL. De lo contrario, redirija a la URL predeterminada (la cadena pasó al método setRedirectUrl).