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");フォームの送信と送信後に移動する必要のある実際のページの間にページを使用して挿入することで、問題を解決しました。

このようにして、フォームは、フォームの送信後にユーザーが表示する必要のあるページにのみリダイレクトする中間Webを呼び出します。

于 2013-03-27T09:01:34.420 に答える