PrimeFaces重写PDF路径以在新窗口中显示

时间:2016-09-14 10:15:23

标签: javascript jsf primefaces

我正在使用PrimeFaces 5.1和JSF。如果我按下commandLink,我将我的pdf路径发送到javascript函数,它将在新窗口中打开该文件。我怀疑它是否向新窗口打开并显示完整的pdf路径。如何重写或只显示文件名?

<p:commandLink value="clickMe" onClick="linkFile(myfilePath)"/>

function linkFile(url)
{
   window.open(url, '_blank');
}

1 个答案:

答案 0 :(得分:3)

如果你使用这样的东西,它应该可以解决问题:

<p:commandButton id="openDoc" ajax="false" icon="fa fa-external-link" onclick="target='_blank'">
    <p:fileDownload value="#{myBean.download(doc.id)}" contentDisposition="inline" />
</p:commandButton>

myBean.download(doc.id)应将PDF作为StreamedContent返回。 单击commandbutton后,将打开一个显示PDF的新选项卡。 显示的网址保持不变