Servlet在新窗口中打开PDF

时间:2013-03-18 20:12:36

标签: jquery ajax spring servlets

我的应用程序中要求在新窗口中打开PDF。要求是仅在PDF数据可用时才打开新窗口。我正在进行服务调用以将PDF内容作为 bytearray 获取。如果服务返回PDF bytearray,那么我只需要打开一个新窗口来显示PDF。我正在使用jQuery和Spring。

我尝试了window.open target="_blank"。但问题是它在点击服务器之前立即打开一个窗口。下面是我的控制器代码,用于刷新PDF。

response.setContentLength(pdfBytes.length);
ServletOutputStream out = response.getOutputStream();
out.write(pdfBytes);
out.flush();
out.close();

我尝试使用Ajax,这样一旦得到响应,我就可以window.open打开一个窗口来显示PDF - 但这也无效。

1 个答案:

答案 0 :(得分:0)

我认为您应该在呈现页面的时间(或之前)检查pdf内容,并显示与target="_blank"的链接(如果有pdf内容)或仅显示纯文本(如果没有可用的内容)。