JSF2でCSVダウンロード


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

public String download() throws SQLException, IOException {

	List<UserBean> list = getUsers(); // ユーザ一覧を取得するメソッド呼び出し

	StringBuilder sb = new StringBuilder();
	sb.append("name,age,password\r\n");
	for (UserBean bean : list) {
		sb.append(bean.getName());
		sb.append(",");
		sb.append(bean.getAge());
		sb.append(",");
		sb.append(bean.getPassword());
		sb.append("\r\n");
	}

	String csvfile = "user.csv";
	FacesContext facesContext = FacesContext.getCurrentInstance();
	ExternalContext externalContext = facesContext.getExternalContext();
	externalContext.setResponseContentType("csv/plain;charset=UTF-8");
	externalContext.setResponseHeader("Content-Disposition", "attachment;filename=" + csvfile);
	externalContext.setResponseCharacterEncoding("UTF-8");
	externalContext.getResponseOutputWriter().write(sb.toString());
	facesContext.responseComplete();

	return "";
}