セッションの有効期限が切れた後、ユーザーを最後にアクセスしたページにリダイレクトしたいので、ユーザーに再度ログインするように促します。その中で、最後のページの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は渡さないだけです。この問題を取り除くのを手伝ってください。