Java window.open重定向到URL,但重定向后原始窗口显示白色空白页 PrintWriter out=response.getWriter(); 输出。打印(“”); out.print(“window.open”(“打开”)http://chfdsd/manu/zseriessection9.pdf“,”空白“)”; 输出。打印(“”);
此代码段位于struts中的action类中。我正在使用它重定向到新窗口中的URL。但是,执行此脚本后,父窗口不应更改。但事实并非如此。这是因为您正在执行对服务器的直接请求。服务器响应就是将写入浏览器客户端的硬编码JavaScript。如果检查空白页的源代码,您将看到该代码:Java window.open重定向到URL,但重定向后原始窗口显示白色空白页 PrintWriter out=response.getWriter(); 输出。打印(“”); out.print(“window.open”(“打开”)http://chfdsd/manu/zseriessection9.pdf“,”空白“)”; 输出。打印(“”);,java,servlets,redirect,Java,Servlets,Redirect,此代码段位于struts中的action类中。我正在使用它重定向到新窗口中的URL。但是,执行此脚本后,父窗口不应更改。但事实并非如此。这是因为您正在执行对服务器的直接请求。服务器响应就是将写入浏览器客户端的硬编码JavaScript。如果检查空白页的源代码,您将看到该代码: 打开窗户http://chfdsd/manu/zseriessection9.pdf“,”空白“) 所以它没有显示空白页面,只是一个没有HTML组件显示的响应 要解决您的问题,您有一些选择: 在新页面/选项卡中执行此
打开窗户http://chfdsd/manu/zseriessection9.pdf“,”空白“)
所以它没有显示空白页面,只是一个没有HTML组件显示的响应
要解决您的问题,您有一些选择:
- 在新页面/选项卡中执行此请求,然后servlet请求返回到所需页面/内容的重定向。例如:
在Servlet中:PrintWriter out = response.getWriter(); out.print("<script>"); out.print("window.open('http://chfdsd/manu/zseriessection9.pdf','_blank')"); out.print("</script>");
- 执行一个ajax请求,返回要导航的URL。然后,处理ajax响应以在新页面中导航到此URL。使用jquery:
然后在servlet中:response.redirect("http://chfdsd/manu/zseriessection9.pdf"); //no need to use PrintWriter at all
$.post("${request.contextPath}/path/to/Servlet", function(response) { window.open(response, 'blank'); });
PrintWriter out = response.getWriter();
out.print("http://chfdsd/manu/zseriessection9.pdf");