In xhtml file, I use primefaces command button. You can also use h:commandButton.
In Managed Bean class, download() method is as follows:
<h:form>
<p:commandButton value="Download File" action="#{branchDownload.download}"
ajax="false" />
ajax="false" />
</h:form>
In Managed Bean class, download() method is as follows:
@ManagedBean
@RequestScoped
public class BranchDownload {
@RequestScoped
public class BranchDownload {
// Your code
// download method
public void download()
{
String file_name = "FILE.csv" ;
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec= fc.getExternalContext();
ec.responseReset();
ec.setResponseContentType("text/csv");
ec.setResponseHeader("Content-Disposition", "attachment; filename=\""+file_name + "\"");
BufferedOutputStream csvOut;
try {
csvOut = new BufferedOutputStream(ec.getResponseOutputStream());
BufferedWriter csvWriter = new BufferedWriter(new OutputStreamWriter(csvOut, "UTF-8"));
csvWriter.append("1,2,3,4,5,6,7,8");
csvWriter.append("\n");
csvWriter.flush();
csvWriter.append("One,2,Three,4,5,6,7,8");
csvWriter.append("\n");
csvWriter.flush();
csvWriter.close();
csvOut.close();
} catch (IOException ex) {
Logger.getLogger(BranchDownload.class.getName()).log(Level.SEVERE, null, ex);
}
finally{
fc.responseComplete();
}
}
{
String file_name = "FILE.csv" ;
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec= fc.getExternalContext();
ec.responseReset();
ec.setResponseContentType("text/csv");
ec.setResponseHeader("Content-Disposition", "attachment; filename=\""+file_name + "\"");
BufferedOutputStream csvOut;
try {
csvOut = new BufferedOutputStream(ec.getResponseOutputStream());
BufferedWriter csvWriter = new BufferedWriter(new OutputStreamWriter(csvOut, "UTF-8"));
csvWriter.append("1,2,3,4,5,6,7,8");
csvWriter.append("\n");
csvWriter.flush();
csvWriter.append("One,2,Three,4,5,6,7,8");
csvWriter.append("\n");
csvWriter.flush();
csvWriter.close();
csvOut.close();
} catch (IOException ex) {
Logger.getLogger(BranchDownload.class.getName()).log(Level.SEVERE, null, ex);
}
finally{
fc.responseComplete();
}
}
// End download method
}
No comments:
Post a Comment