I'm getting this problem for a long time and never get any workaround.
I'm using a bean to write to an outputStream get from facesContext etc. etc., it should work to export files.
Once I used h:commandButton or s:button the output came as a file to be saved by the browser. If I use a4j:commandButton, the output is opened in the browser, like If have done something as save the file on the computer and then "open as..." on the browser.
Someone already passed through this?
Thanks in advance.
It's not possible to transfer binary resources via Ajax directly, you should use h:commandLink or issue redirect to something (e.g. Servlet) that will handle resource content request.