Tengo un jsp de inicio de sesión que toma el correo electrónico del usuario y lo envía al servlet. Si el correo electrónico no está en la base de datos, el servlet vuelve a dirigir a Login.jsp con un atributo "error". En el encabezado Login.jsp, ya tengo un scriplet que verifica este atributo y, si está configurado, genera el error msg div "display: block", de lo contrario, genera "display:none". En este mensaje de error, tengo un botón con javascript para redirigir a la página de registro.
Mi problema es: si presiono el botón Atrás del navegador cuando estoy en la página de registro, muestra la página de inicio de sesión aún con el mensaje de error. En su lugar, quiero que muestre la página de inicio de sesión sin error msg div.
La cosa es que cuando presionas atrás el navegador no siempre recarga la página, esa es la razón por la que el registro sigue mostrando el error, así que lo que necesitas es forzar la recarga de la página. Aquí tiene un enlace a la solución que le estoy dando, espero que funcione. ¿Cómo forzar la recarga de una página cuando se usa el botón Atrás del navegador?
Editar:
Respondiendo a su comentario, sí, debe colocarse en el archivo js, algo como esto debería funcionar
var perfEntries = performance.getEntriesByType("navigation"); (function(){ if (perfEntries[0].type === "back_forward") { location.reload(true); } }());Esta es una función que no requiere ser llamada, la función se llama a sí misma cuando se carga el archivo JS