0
將文件下載到不使用fileDownloadActionListener我添加了一個頁面上的一個按鈕下載文件:沒有fileDownloadActionListener
<af:commandButton text="Download" id="cb1" partialSubmit="true" actionListener="#{bean.downloadListener}"/>
和動作監聽我寫了以下內容:
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
ec.redirect("http://download-server/file");
fc.responseComplete();
的問題是, 第一次下載後,按鈕停止響應,點擊。
我也嘗試將數據寫入響應流是這樣的:
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
ec.responseReset();
ec.setResponseContentType("application/xls");
ec.setResponseHeader("Content-Disposition", "attachment; filename=\"report.xls\"");
OutputStream out = ec.getResponseOutputStream();
// write the data
out.close();
fc.responseComplete();
,甚至得到一個HttpServletResponse的:
HttpServletResponse resp = (HttpServletResponse)ec.getResponse();
resp.addHeader("Content-Disposition", "attachment; filename=\"report.xls\"");
resp.addHeader("Content-Type", "application/xls");
OutputStream out = resp.getOutputStream();
// write the data
out.close();
fc.responseComplete();
但既不工程。
我能做些什麼來使它工作?