PrimeFacesのファイルダウンロード機能利用時の注意

Primefacesでファイルダウンロードボタンクリック時にダイアログが開かなかった。

<p:commandButton id="buttonDownload" actionListener="#{testController.download()}" ajax="true"
value="ダウンロードのみ" update=":Form">
<p:fileDownload id="dl" value="#{testController.downloadContent}"/>
</p:commandButton>

 

いろいろいじったところ、ボタンのajaxが有効な場合、ダイアログが開かない模様。

<p:commandButton id="buttonDownload" actionListener="#{testController.download()}" <strong>ajax="false"</strong>
value="ダウンロードのみ" update=":Form">
<p:fileDownload id="dl" value="#{testController.downloadContent}"/>
</p:commandButton>

 

これで開くようになりました。