仅在条件为真时才在新窗口中打开pdf

时间:2018-10-15 14:15:58

标签: primefaces jsf-2

因此,我尝试通过commandButton在新窗口中打开pdf,并使用p:fileDownload组件。 按钮:

<p:commandButton value="#{loc['showPdf']}" id="showPdfButton"
                    action="#{logReportBean.createPdfByButton}" ajax="false"
                    onclick="if (#{logReportBean.showPdfButtonOnClickBehaviour()}) form.target='_blank'"
                    process="@this" update="@this" icon="ui-icon-arrowthick-1-s">
                    <p:fileDownload value="#{logReportBean.pdfFile}"
                        contentDisposition="inline" />
                </p:commandButton>

showPdfButtonOnClickBehaviour方法:

public boolean showPdfButtonOnClickBehaviour()
{
    if(logReportList.isEmpty())
    {
        return false;
    }
    return true;
}

仅当showPdfButtonOnClickBehaviour方法为true时,才应在新窗口中打开pdf,但是当方法返回false时,也应打开此新窗口。所以我只想在logReportList不为空时才有一个新窗口,因为这是我生成pdf的列表。

当我单击按钮时,甚至会在showPdfButtonOnClickBehaviour中的onclick被调用之前打开一个新窗口。我不知道为什么 我做错了什么?也许只有当我的logReportList字段不为空时,才有更好的解决方案在新窗口中打开pdf吗?

对不起,英语不好。

0 个答案:

没有答案