URL未使用最新页面更改进行更新

时间:2013-03-26 10:59:14

标签: jsp url redirect

我遇到的问题与此问题非常相似:How to navigate in JSF? How to make URL reflect current page (and not previous one)

这实际上是同样的问题,但在不同情况下会发生,而且当我使用<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页面:

http://localhost:8084/myContext/checklogin.jsp

为什么会发生这种情况?它使得调试过程真的比它应该更难。

1 个答案:

答案 0 :(得分:0)

使用response.sendRedirect("pageToGo");解决了我的问题,并在表单提交和提交后需要提交的实际页面之间插入页面。

这样,表单将调用中间网,该网页仅重定向到用户提交表单后必须查看的页面。