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

Javascript PrimeFaces重写PDF路径以显示在新窗口中,javascript,jsf,primefaces,Javascript,Jsf,Primefaces,我在JSF中使用PrimeFaces 5.1。如果我按commandLink,我会将pdf路径发送到javascript函数,它会在新窗口中打开文件。我怀疑它是否会在新窗口中打开并显示完整的pdf路径。如何重写或仅显示文件名 <p:commandLink value="clickMe" onClick="linkFile(myfilePath)"/> function linkFile(url) { window.open(url, '_blank'); } 函数链接文件

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

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

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

函数链接文件(url)
{
打开(url,“U空白”);
}

如果您使用这样的东西,它应该会起到以下作用:

<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
返回。 单击
命令按钮后
将打开一个新选项卡,显示PDF。
显示的url应该保持不变

如果您使用类似的内容,它应该做到以下几点:

<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
返回。 单击
命令按钮后
将打开一个新选项卡,显示PDF。 显示的url应该保持不变