0

セッションの有効期限が切れた後、ユーザーを最後にアクセスしたページにリダイレクトしたいので、ユーザーに再度ログインするように促します。その中で、最後のページのURLを1つのパラメーターに渡し、seesioerrorアクションを呼び出してユーザーを検証します。

私はこのコードスニペットを持っています:

   <script type="text/javascript">
        var currentURL = window.location.href;

    </script>
     <%

        String url= "<script>document.writeln(currentURL);</script>";

        Object obj = session.getAttribute("user");
        if (obj == null) {
            response.sendRedirect(request.getContextPath() + "/SessionError?backurl=" + url);
        }

     %>

私の問題は、Java文字列の可変URLを使用 <% out.print("URL" + url);%>して、ページURLを正しく印刷するたびに発生することです。

response.sendRedirect(request.getContextPath() + "/SessionError?backurl=" + url);しかし、スニペット内のこの行にそれを渡す場合。http://www.mysite.com/home<script>document.writeln(currentURL);</script>のような現在のページのURLは渡さないだけです。この問題を取り除くのを手伝ってください。

4

2 に答える 2

1

JSP はサーバー側の言語であり、http 応答がクライアントに返される前に実行されます。つまり、javascript で JSP 変数を使用することはできますが、その逆はできません。javascript : document.referrerを使用して以前の URL を取得できます

于 2013-02-07T12:23:35.193 に答える
0

あなたが使用している必要があります

request.getAttribute("javax.servlet.forward.request_uri")

この質問を参照してください

また、sciplets と Javascript コードを混在させないでください。その混乱。

于 2013-02-07T12:26:34.087 に答える