FileDownload

FileDownload is used to stream binary contents like files stored in database to the client. FileDownload is used by attaching it to any JSF command component like button or a link. Additionally presentation of download can be configured with the contentDisposition attribute that takes either "attachment" or "inline" as a value.

Status

Source

<p:dialog modal="true" widgetVar="statusDialog" header="Status" draggable="false" closable="false" resizable="false">
    <p:graphicImage value="/design/ajaxloadingbar.gif" />
</p:dialog>

<h:form id="form">

<p:commandButton id="downloadLink" value="Download" ajax="false" onclick="PrimeFaces.monitorDownload(start, stop)" 
        icon="ui-icon-arrowthichk-s">
    <p:fileDownload value="#{fileDownloadController.file}" />
</p:commandButton>

</h:form>

        <script type="text/javascript">
function start() {
    PF('statusDialog').show();
}

function stop() {
    PF('statusDialog').hide();
}
        </script>