繁体   English   中英

JSF下载并转发到结果页面

[英]JSF download and forward to a result page

我正在使用JSF 2.1和Primefaces。 当用户提交表单时,我的程序会填充一个PDF文档并将其下载到用户计算机,然后我需要显示一个新页面并显示状态消息。我的代码会下载已填充的表单,但不会重定向到结果页面。

PDDocument document = PDDocument.load("C:/Backup/test.pdf");
PDDocumentCatalog docCatalog = document.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
....

在这里填充文件。

FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();

response.setHeader("Content-disposition", "attachment; filename=\"test.pdf\""); 
response.setHeader("Refresh", "1; URL=result.xhtml");

BufferedOutputStream output = null;
output = new BufferedOutputStream(response.getOutputStream());
document.save(output);
output.close();
facesContext.responseComplete();

您可以遵循以下条件之一:

  1. 选项1

    一世。 将用户重定向到“结果”页面

    ii。 向用户显示下载按钮 ,单击此按钮后,打开一个新窗口,其中将显示/下载PDF。

  2. 选项2

    一世。 将用户重定向到“结果”页面

    ii。 结果页面加载后,使用javascript / jQuery发送请求以打开一个新窗口,在该窗口中将显示/下载PDF。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM