如何将java脚本变量传递到jsp页面中的java代码段中

如何将java脚本变量传递到jsp页面中的java代码段中,java,javascript,jsp,Java,Javascript,Jsp,我想在会话到期后将用户重定向到上次访问的页面,并提示用户再次登录。在这种情况下,我将最后一页url传递到一个参数中,并调用seesioerror操作来验证用户 我有以下代码片段: <script type="text/javascript"> var currentURL = window.location.href; </script> <% String url= "<script>docu

我想在会话到期后将用户重定向到上次访问的页面,并提示用户再次登录。在这种情况下,我将最后一页url传递到一个参数中,并调用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);
        }

     %>

var currentURL=window.location.href;
现在的问题是,每当我使用
打印Java字符串变量url时,它都会正确打印页面url


但是如果在这一行
response.sendRedirect(request.getContextPath()+”/SessionError?backurl=“+url”)上传递它在代码段中。它只传递
document.writeln(currentURL)不是像那样的当前页面url。请帮我解决这个问题。

JSP是服务器端语言,它将在http响应返回客户端之前执行。通过这样说,您可以在javascript中使用JSP变量,但不能反过来使用。 您可以使用javascript:document.referer获取您应该使用的上一个url

request.getAttribute("javax.servlet.forward.request_uri")
看到这个了吗


请不要将sciplets和Javascript代码混用。一团糟。

谢谢你的回答和建议。现在我解决了这个问题