JasperReport学习必备手册_第1页
JasperReport学习必备手册_第2页
JasperReport学习必备手册_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JasperReport学习必备手册(小弟第一次发帖,好像用小字体才好看些,大家将就一下) 这是我学习JasperReport的一点经验,欢迎大家指正、赐教,我只是起个 砖块的作用,大家就接着抛玉吧,希望最后真的能累成一个必备手册,呵 呵。假设大家已经对JasperReport有一定的了解(至少知道大概的开发流程), 这里就不赘述JasperReport的好处、设计、表达式的定义等 JasperReport 自带文档里有的东西了。可能因为我是java新手,所以遇到的问题特别多,下面仅列一些,并附上我的解决方法:Jsp生成不了 PDF的问题生成 HTML 时 JRHtmlExporterPara

2、meter.lMAGES_MAP 的问题中文显示的问题图片显示的实现方法(JFreeChart)我的通用.jasper生成方法我的项目的实现Jsp生成不了 PDF的问题问题描述:运行自带的web(webapp目录下)例子时(我使用的服务器是 TomCat),用Servlet生成PDF完全没问题,而JSP方式却报 getOutputStream() has already been called forthis respons的令昔,看 JSP源码 发现和Servlet差不多。问题原因:Tomcat首先执行.jsp文件开始的Java代码,然后准备session, out等变量。而输出PDF的代码

3、出现在.jsp文件开始的% . %段中,这 样 HttpServerletResponse的 getOutputStream()方法已被调用。在 JSP规范 中定义此方法只能被调用一次,这样当 Tomcat准备out变量时必然会出 错。所以基于TomCat的服务器都会出错,如Jboss?un ONE AppServer解决方法:很简单,按照JSP/Servlet规范定义输出非文本内容,如图 片、声音等应该使用Servlet而不是JSP。在Servlet中输出流完全由应用 程序按需打开/关闭。虽然仿佛这不叫解决方法,但我查了很多地方,也没有找到更好的说 法,所以大家做JasperReport还是

4、用Servlet好了生成 HTML 时 JRHtmlExporterParameter.IMAGES_MAP 的问 题这算不得一个问题,只是当时我有点迷惑,就拿出来说说好了。 不知大家注意过没有,每次生成 Html 时,都有下面一段:Map imagesMap = new HashMap(); session.setAttribute(IMAGES_MAP,imagesMap); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);exporter.setParameter(JRExporterParamet

5、er.OUTPUT_WRITER, out); exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP, imagesMap);exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,image .jsp?image=);特别是: exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out); exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP, image

6、sMap);exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,image .jsp?image=);这几句,感觉莫名其妙的, 最初猜想是显示图片用的,可到底是不是呢? 而且生成的 Html 页面的源码中,有很多 到底 px 是什么样的图片?查看javadoc,写的过于简单,根本没有说明。于是,看源码:his.imagesMap =(Map)this.parameters.get(JRHtmlExporterParameter.IMAGES_MAP);if(this.imagesMap = null) this.imagesMap

7、= new HashMap();this.loadedImagesMap = new HashMap(); byte pxBytes=JRImageLoader.loadImageDataFromLocation(dori/jasper/engine/im ages/pixel.GIF);this.loadedImagesMap.put(pxBytes, px);this.imagesMap.put(px, pxBytes);哈哈,原形毕露了,原来 px 就是 dori/jasper/engine/images/pixel.GIF一个 小不点),但它对网页的美观起了很大的作用,不信你写错lma

8、ge(jsp、servlet)的路径看看(这也是个可能出错的地方)。中文显示的问题问题描述:生成的Html或PDF中文显示为乱码或不显示解决方法(HTML):如果只要求生成Html(可能不会有这么简单就能打发走的客户),很好 办,如果是 JSP:如果是 Servlet: response.setContentType(text/html;charset=GB2312); 哈哈,大功告成,预知PDF的中文解决方法,请拨打收费咨询电话110。解决方法(PDF):大家把手上的板砖放下吧,我说还不行吗,只是不知道这是不是正确 或比较好的解决方法,请多指点。由于生成PDF时没有什么地方可以设置charset=GB2312真是个天 才的傻想法)。我们分三步走好了。1. 由于JasperRepor使用iText生成PDF,所以我们需要iText亚洲语言包http:/itext.sourceforge. net/dow nloads/iTextAsia n.jar将他放在lib中。2. 在JasperReport的设计xml中,可以定义一个中文 Font:其中 pdfF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论