最近在做的项目中用到了JSF+iReport生成报表且导出报表的技术.大的技术难点没有什么,但是有很多小的细节很搞人,
下面对整个流程以及注意的地方做个简单的总结:
步骤
(1)下载最新的iReport,且安装(http://community.jaspersoft.com/download)
(2)用iReport设计报表模板(http://community.jaspersoft.com/wiki/designing-report
有个简单的例子,可以作为参考)
(3)将以下包加入WEB-INF/lib中。
commons-beanutils-1.7.jar;commons-collections-2.1.jar;commons-digester-1.7.jar;commons-logging-1.0.2.jar;commons-logging-api-1.0.2.jar;itext-1.3.1.jar;jasperreports-1.3.3.jar;jdt-compiler-3.1.1.jar;jxl-2.6.jar;png-encoder-1.5.jar;poi-2.0-final-20040126.jar
以上包是jasperReport必须。
(4)编写xhtml文件,样例代码如下:
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form>
<h:commandbutton actionlistener="#{demoBean.DOCX}" value="Docx" ajax="false" />
</h:form>
</h:body>
上面的例子中一定要注意的是必须有ajax="false"属性(5)编写manager
bean
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.getCu
rrentInstance().responseComplete(),否则会产生
getOutputStream()
has already been called for this response
关于ireport的设计细节可以参考iReport的文档
分享到:
相关推荐
关于jsf+ejb+jpa整合,光盘上代码这样写的。
基于JSF+EJB3+JPA的竞价拍卖系统,服务器为JBOSS
JSF+Spring+Ibatis示例,对学习JAVA企业应用开发有巨大的帮助!
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part1 其他部分详见我的上传列表,全部分卷下载完成才能解压。...第三部分提供了一个JSF+EJB 3+ JPA整合开发的项目:电子拍卖系统。
jsf+javabean+jdbc完成对表增删查改
JSF+SPRING+HIBERNATE
EJB+JSF+JPA全JAVAEE视频教程,EJB+JSF+JPA入门觉得有点难吗?JBOSS报错?该教程全程教你学习搭建EJB+JSF+JPA框架!!!
seam+jsf+richfaces+ajax4jsf相关电子书,做个备份吧!网上也很多的!
经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part3
经典JAVA EE企业应用实战 基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发.part2
java+jsf+js java+jsf+js java+jsf+js java+jsf+js java+jsf+js java+jsf+js java+jsf+js
JSF+Spring+Hibernate小例子 博文链接:https://suhuanxi.iteye.com/blog/219200
经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part2
jsf+hibernate+spring集成案例分析
JSF+Spring+hibernate整合网站例子 JSF+Spring+hibernate整合网站例子
ajax+jsf+spring+hibernate开发的实例源码
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第3章 其他部分详见我的上传列表 本书介绍了Java EE规范的三大主要规范...第三部分提供了一个JSF+EJB 3+ JPA整合开发的项目:电子拍卖系统。
详细介绍在myeclipse下应用jsf+hibernate+spring三种技术完美结合。
JSF+RichFaces(Ajax4jsf)框架示例
JSF+Spring+Hibernate(框架整合)详细过程,有代码和视图