0

我有一个与此非常相似的问题:如何在 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

任何想法为什么会发生这种情况?它使调试过程变得比应有的更加困难。

4

1 回答 1

0

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

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

于 2013-03-27T09:01:34.420 回答