1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 沫沫金::完美解决jasperreports集成ssh后生成HTML图片红叉叉问题和chart不能显示问题...

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

时间:2019-05-24 16:51:03

相关推荐

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

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

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

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

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

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

<servlet><servlet-name>ImageServlet</servlet-name><servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class></servlet><servlet-mapping><servlet-name>ImageServlet</servlet-name><url-pattern>/servlets/p_w_picpath</url-pattern></servlet-mapping>

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

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

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

完整代码:

/***导出html*/privatestaticvoidexportHtml(JasperPrintjasperPrint,StringdefaultFilename,HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,JRException{response.setContentType("text/html;charset=UTF-8");JRHtmlExporterexporter=newJRHtmlExporter();PrintWriterout=response.getWriter();try{request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE,jasperPrint);exporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);exporter.setParameter(JRExporterParameter.OUTPUT_WRITER,out);exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,Boolean.FALSE);exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING,"UTF-8");exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.FALSE);exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,"../servlets/p_w_picpath?p_w_picpath=");exporter.exportReport();}catch(JRExceptione){logger.debug("生成html文件失败........");}}

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

友情提示:

如果生成Excel需要图形的话,你不能使用JRXlsExporter,而是需要使用JExcelApiExporter

抢!正品杜蕾斯人体润滑剂 女用水溶性情趣润滑油可阴交×××

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。