URL не обновляется с последними изменениями на странице
У меня проблема, которая очень похожа на эту: Как перемещаться в JSF? Как сделать URL-адрес текущей страницы (а не предыдущей)
На самом деле это одна и та же проблема, но происходит в разных ситуациях, и когда я использую тег <jsp:forward>
Чтобы поставить вас в ситуацию, у меня есть форма, которая запрашивает пользователя и передает его для входа в систему. Это перенаправляет на новую страницу (checklogin.jsp), которая выполняет проверку, обновляет сеанс, и если все в порядке, то это происходит следующим образом:
if (con.comprobarUserPass(passmd5)) { // We check everything is OK
sesion.setAttribute("conexion", con);
sesion.setAttribute("pass", passmd5);
%>
<jsp:forward page="index.jsp"/> //forwards to the index
<%
} else {
%>
<jsp:forward page="login.jsp"> // user/pass error, goes back to the login.jsp page
<jsp:param name="error" value="<strong><span style=\"color:red;\">Usuario y/o clave incorrectos. <br>Vuelve a intentarlo.</span></strong>"/>
</jsp:forward>
<% }
} catch (userPassIncorrectoException e) {
%>
<jsp:forward page="login.jsp">
<jsp:param name="error" value="<strong><span style=\"color:red;\">Usuario y/o clave incorrectos. <br>Vuelve a intentarlo.</span></strong>"/>
</jsp:forward>
<% }
%>
Ну, проблема появляется здесь, даже если я перенаправлен на страницу index.jsp или на страницу login.jsp, мой url:
http://localhost:8084/myContext/checklogin.jsp
Любые идеи, почему это происходит? Это делает процесс отладки более сложным, чем нужно.
Ответы
Ответ 1
Решила мою проблему, используя response.sendRedirect("pageToGo");
и вставив страницу между отправкой формы и фактической страницей, которую мне нужно отправить после отправки.
Таким образом, форма вызовет промежуточную сеть, которая перенаправляет только страницу, которую пользователь должен увидеть после отправки формы.