jasperreport学习必备手册.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JasperReport学习必备手册 (小弟第一次发帖,好像用小字体才好看些,大家将就一下) 这是我学习JasperReport的一点经验,欢迎大家指正、赐教,我只是起个 砖块的作用,大家就接着抛玉吧,希望最后真的能累成一个必备手册,呵 呵。 假设大家已经对JasperReport有一定的了解(至少知道大概的开发流程), 这里就不赘述JasperReport的好处、设计、表达式的定义等 JasperReport 自带文档里有的东西了。 可能因为我是java新手,所以遇到的问题特别 多,下面仅列一些,并附上我的解决方法: Jsp生成不了 PDF的问题 生成 HTML 时 JRHtmlExporterParameter.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的代码出现在.jsp文件开始的<% ... %>段中,这 样 HttpServerletResponse的 getOutputStream()方法已被调用。在 JSP规范 中定义此方法只能被调用一次,这样当 Tomcat准备out变量时必然会出 错。 所以基于TomCat的服务器都会出错,如Jboss?un ONE AppServer 解决方法:很简单,按照JSP/Servlet规范定义输出非文本内容,如图 片、声音等应该使用Servlet而不是JSP。在Servlet中输出流完全由应用 程序按需打开/关闭。 虽然仿佛这不叫解决方法,但我查了很多地方,也没有找到更好的说 法,所以大家做JasperReport还是用Servlet好了 生成 HTML 时 JRHtmlExporterParameter.IMAGES_MAP 的问 题 这算不得一个问题,只是当时我有点迷惑,就拿出来说说好了。 不知大家注意过没有,每次生成 Html 时,都有下面一段: Map imagesMap = new HashMap(); session.setAttribute("IMAGES_MAP",imagesMap); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.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, imagesMap); exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,"image .jsp?image="); 这几句,感觉莫名其妙的, 最初猜想是显示图片用的,可到底是不是呢? 而且生成的 Html 页面的源码中,有很多 <td><img src="image?image=px" width=40height=1></td> 到底 px 是什么样的图片? 查看javadoc,写的过于简单,根本没有说明。于是,看源码: his.imagesMap =(Map)this.parameters.get(JRHtmlExporterParameter.IMAGES_MAP); if(this.imagesMap == null) { this.imagesMap = new HashMap(); } this.loadedImagesMap = new HashMap(); byte[] pxBytes =JRImageLoader.loadImageDataFromLoc

文档评论(0)

dajiede + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档