FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response =(HttpServletResponse)context.getExternalContext().getResponse();
String fileName= "nombreArchivo.txt";
response.setContentType("text/plain");
response.setHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\"");
PrintWriter os = null;
String cadena="Hola Mundo!"
try {
os = response.getWriter();
os.println(cadena);
os.flush();
os.close();
FacesContext.getCurrentInstance().responseComplete();
} catch (IOException e) {
e.printStackTrace();
}
Espero sirva de algo esta solución, a mi si me sirvió :D
Actualización: Cambiando el setContentType y dirigiendo el ServeltOutputStream, se puede generar cualquier tipo de archivo (pdf, xls, doc, etc, etc).




