Spring在另一个窗口中响应OutputStream

时间:2017-03-21 14:07:52

标签: html http spring-mvc servlets outputstream

我有一个生成PDF的Spring MVC控制器

...
response.setHeader("Cache-Control", "");
response.setContentType("application/pdf");                                 
final OutputStream out = response.getOutputStream();
out.write(pdfService.generateApplicationReport(device));
out.flush();
out.close();
return null;
...

我使用提交按钮生成打印

<button id="pdfId" class="btn btn-secondary" type="submit">Print</button>      

但我想在另一个浏览器窗口中生成它

1 个答案:

答案 0 :(得分:0)

据我所知,您无法将其写入新窗口或服务器端的任何内容,您可以指示客户端打开一个链接,在新窗口中加载pdf的JavaScript。

EG:

<a href='somesite.com/endpoint/your_pdf_servlet_thing' target='_blank'>

在访问链接的地方,会在浏览器中为客户端加载PDF。