Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 停止p:commandLink在单击时滚动到页面顶部_Java_Jsf_Primefaces_Commandlink - Fatal编程技术网

Java 停止p:commandLink在单击时滚动到页面顶部

Java 停止p:commandLink在单击时滚动到页面顶部,java,jsf,primefaces,commandlink,Java,Jsf,Primefaces,Commandlink,我有一个带有图像的JSF2命令链接。单击图像时,服务器将下载一个PDF文件。单击图像链接后下载文件时,也会导致整个页面滚动到页面顶部。链接的代码段如下所示: <p:commandLink ajax="false" action="#{refereeAssessmentSummaryBean.stateLatestFormInPAVer(project.appId)}"> <p:graphicImage name="images/pdf.png"

我有一个带有图像的JSF2命令链接。单击图像时,服务器将下载一个PDF文件。单击图像链接后下载文件时,也会导致整个页面滚动到页面顶部。链接的代码段如下所示:

<p:commandLink ajax="false"
        action="#{refereeAssessmentSummaryBean.stateLatestFormInPAVer(project.appId)}">
<p:graphicImage name="images/pdf.png"
            title="#{msg['label.downloadpdf']}" />
</p:commandLink>    

我认为这是因为您使用的是
ajax=false
。 如果您没有使用ajax,整个页面将被重新加载。 要么删除它,要么更改为ajax=true,然后尝试一下

编辑:


我错了<下载文件时需要code>ajax=false。

如何生成PDF? 您是否设置了mimetype以便浏览者能够识别您以pdf响应?
在您将PDF文件写入primefaces后,您是否也阻止primefaces继续响应?(使用facesContext.responseComplete();为此)

使用默认HTML链接标记
时,必须设置
href='javascript:void(0)
,以避免当前页面滚动到顶部

也许有一个p:commandLink可以做同样的事情

<p:commandLink url="javascript:void(0)" ... /> ??
??

希望这将帮助您解决问题

此链接用于下载PDF文件作为附件。据我所知,ajax在下载文件时需要为false。我阅读了文档。你是对的。那么,您是否尝试使用
而不是
?是的,我已将内容类型和mimetype设置为PDF,并将响应设置为在输出PDF后完成。您能否提供生成PDF文件的bean代码?添加了下载代码。我可以下载PDF没有问题,所以我认为这不是问题所在。问题是每当我点击链接,页面就会跳到顶部。你看到我在futureelite7下面的答案了吗?我想这对你有帮助
<p:commandLink url="javascript:void(0)" ... /> ??