Так что я пытаюсь открыть pdf в новом окне commandButton
и использую компонент 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
in onclick
даже будет вызван.Я не знаю почему.Что я делаю не так?Может быть, у кого-то есть лучшее решение открыть pdf в новом окне, только когда мое поле logReportList
не пусто?
Извините за плохой английский.