我正在使用PrimeFaces 5.1和JSF。如果我按下commandLink,我将我的pdf路径发送到javascript函数,它将在新窗口中打开该文件。我怀疑它是否向新窗口打开并显示完整的pdf路径。如何重写或只显示文件名?
<p:commandLink value="clickMe" onClick="linkFile(myfilePath)"/>
function linkFile(url)
{
window.open(url, '_blank');
}
答案 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的新选项卡。
显示的网址保持不变