JSF+iReport 表格的展示(一)

JSF+iReport 报表的展示(一) public void DOCX(ActionEvent actionEvent) throws JRException, IOExceptio

JSF+iReport 报表的展示(一)

 public void DOCX(ActionEvent actionEvent) throws JRException, IOException{           HttpServletResponse httpServletResponse=(HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();         httpServletResponse.addHeader("Content-disposition", "attachment; filename=report.docx");         ServletOutputStream servletOutputStream=httpServletResponse.getOutputStream();         JRDocxExporter docxExporter=new JRDocxExporter();         docxExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);         docxExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, servletOutputStream);         docxExporter.exportReport();         FacesContext.getCurrentInstance().responseComplete();     }  

上面的程序中注意的是,最后必须要加上FacesContext.getCurrentInstance().responseComplete(),否则会产生

getOutputStream() has already been called for this response


关于ireport的设计细节可以参考iReport的文档