完美解决jasperreports集成ssh后生成HTML图片红叉叉问题和chart不能显示问题-阿里云开发者社区

开发者社区> 技术小阿哥> 正文

完美解决jasperreports集成ssh后生成HTML图片红叉叉问题和chart不能显示问题

简介:
+关注继续查看

 px背景图显示红叉叉解决方案

问题描述:使用JasperReport生成Html报表后,数据显示正确px图片不显示,页面整个都是红叉叉

红xx问题,沫沫金提供

 

       产生原因:在生成HTML页面时JRHtmlExporterParameter.IMAGES_URI参数设置不正确,主要是图片的路径问题。由JasperReport生成Html时,那些红叉叉是一个名称为px像素的图片,是内置在jasperreports包中的,在IE显示时以图片的形式显示

       解决办法:根据JasperReport的源代码显示,我们只需要以下两个步骤就能解决了

1、在web.xml中添加如下配置:

 


  1. <servlet>  
  2.       <servlet-name>ImageServlet</servlet-name>  
  3.       <servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class>  
  4. </servlet>  
  5.  
  6. <servlet-mapping>  
  7.       <servlet-name>ImageServlet</servlet-name>  
  8.       <url-pattern>/servlets/image</url-pattern>  
  9. </servlet-mapping>  

2、在调用程序中增加如下代码:

 


  1. exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "../servlets/image?image=");  

好了,经过上面两个步骤。重启服务,刷新页面立马就正常了

 

完整代码:

 


  1. /**  
  2.             * 导出html  
  3.             */   
  4.            private static void exportHtml(JasperPrint jasperPrint,String defaultFilename,   
  5.              HttpServletRequest request, HttpServletResponse response) throws IOException, JRException {   
  6.              response.setContentType("text/html;charset=UTF-8"); 
  7.              JRHtmlExporter exporter = new JRHtmlExporter();  
  8.              PrintWriter out = response.getWriter();   
  9.              try { 
  10.                  request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint); 
  11.                  exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);   
  12.                  exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);   
  13.                  exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE); 
  14.                  exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");  
  15.                  exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.FALSE); 
  16.                  exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "../servlets/image?image="); 
  17.                  exporter.exportReport(); 
  18.              } catch (JRException e) { 
  19.                logger.debug(" 生成html文件失败 .... ...."); 
  20.              } 
  21.            }   

上面的代码就能很完美的生成html了,页面没有红叉叉,chat图也能正常显示了

 



本文转自 沫沫金 51CTO博客,原文链接:http://blog.51cto.com/zl0828/969891,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
用CSS新属性实现特殊的图片显示效果
使用一个或多个图像相关的CSS属性(background-blend-mode, mix-blend-mode, or filter)可以实现许多特殊的图片显示效果。本文转载自Bennett Feely的个人网站,文中共列举了20种图片显示效果。
792 0
赞!jsPDF – 基于 HTML5 的强大 PDF 生成工具
  jsPDF 是一个基于 HTML5 的客户端解决方案,用于生成各种用途的 PDF 文档。使用方法很简单,只要引入 jsPDF 库,然后调用内置的方法就可以了。浏览器兼容性: IE 10, Firefox 3+, Chrome, Safari 3+, Opera,未来将兼容 IE 10 以下版本,对于 IE10 以下的版本会使用 Downloadify 来实现文件下载功能。
1072 0
sublime生成html骨架|学习笔记
快速学习 sublime生成html骨架
23 0
android用eclipse开发碰到65535问题的完美解决方案
android用eclipse开发碰到65535问题的完美解决方案
3 0
Android官方开发文档Training系列课程中文版:高效显示位图之在UI中展示位图
原文地址:http://android.xsoftlab.net/training/displaying-bitmaps/display-bitmap.html 这节课会将前面的知识点整合到一起,展示如何使用后台线程、位图缓存来加载多张图片到ViewPager或者GridView中,并会涉及并发处理及配置更改的相关知识。
715 0
微信公众号-- 微信分享功能(分享到朋友和朋友圈显示图片和简介)
页面设置一个隐藏的图片,宽高都是300像素,微信就会抓取这张图片做为分享图片
15074 0
完美解决idea继承maven后,构建项目慢的问题
1.修改远程仓库的位置(maven默认仓库是国外,所以我们下载jar包很慢) 找到我们安装的maven路径下的conf文件夹下的settings.xml文件 将文件复制到 C:\Users\Administrator\.
1483 0
Python爬虫入门教程 6-100 蜂鸟网图片爬取之一
1. 蜂鸟网图片简介 国庆假日结束了,新的工作又开始了,今天我们继续爬取一个网站,这个网站为 http://image.fengniao.com/ ,蜂鸟一个摄影大牛聚集的地方,本教程请用来学习,不要用于商业目的,不出意外,蜂鸟是有版权保护的网站。
1406 0
13694
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载