【问题标题】:SendRedirect not working from JSP ScriptletSendRedirect 在 JSP Scriptlet 中不起作用
【发布时间】:2012-11-06 19:17:05
【问题描述】:

我有一个 main.jsp。

Onclick 在 main.jsp 中的一个按钮上,我正在另一个窗口中启动我的 JSP scriptlet。在 JSP Scriptlet 中,我正在处理 URL 参数并构造 URL。 URL 构建工作正常;我将其打印在日志文件中并手动打开构建的链接。

我想将此 JSP scriptlet 页面重定向到构造的新 URL(不同的域),以便发送重定向。

我在构建 URL 后将这一行放在最后。

response.sendRedirect(url);

当我尝试sendRedirect 时,没有任何反应。谁能帮我找出问题所在?

【问题讨论】:

  • 请粘贴您的 JSP。可能您无法将重定向发送回浏览器,因为响应已经提交。
  • 如果响应已经提交,那么我至少会得到那个错误。在后端,当我在日志中打印味精时,它说重定向到新的 url。但实际上,它不会重定向。页面显示为空白。
  • @smiley: 试试写 response.flush();并返回;在 sendRedirect 行之后。看看有没有帮助。

标签: java javascript jsp url redirect


【解决方案1】:

要在此脚本中调用 JavaScript,请使用

url = urlBuffer.toString(); 
System.out.println("url from JS server="+url);    
%>
<script type="text/javascript">
window.location=<%=url%>
</script>

【讨论】:

  • 在 main.jsp Javascript 我正在做 window.open() 从 main.jsp 调用我的 JS Scriptlet。从 scriptlet.jsp 我需要将重定向发送到我在 scriptlet 中构建的新 url。我们如何从这个页面重定向。此页面没有任何 html 控件。那么,如果我调用 javascript,我应该从哪里调用?
  • 请贴出你用来构造url的jsp
  • 添加了我的 JSP 代码,请检查并告诉我。感谢您的帮助!
【解决方案2】:

Onclick - 是回发还是回调事件?你用ajax吗?当您使用ajax请求时,您可以在成功事件中添加代码:document.location='some url';当回发时-document.location='&lt;%= url%&gt;';

【讨论】:

  • 在我的情况下,它是回发-> 在同一页面中加载新的 url。但我的问题是,我没有在这段代码中使用任何 html。所以如果我把这个 document.location='';在 JavaScript 中,我将如何调用这个 scriptlet 中的 JavaScript?
【解决方案3】:

window.location= .. 对我不起作用。

我这样做了,它成功了

 <script> 
window.location.href = "<%= url %>";
 </script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-01
    • 2014-06-05
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多