利用如下代码
response.setContentType("text/html"); PrintWriter out = response.getWriter();
JRHtmlExporter exporter = new JRHtmlExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out); exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "image?image="); exporter.exportReport();
导出html文件时,px图片看不到。这个是由于这一句 exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "image?image=");中的image没有配置好,在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>/servlet/image</url-pattern>
</servlet-mapping>
image?image=中的image是相对路径,最好用绝对路径。 若导出html的servlet的url-pattern是 /servlet/htmlServlet 那么上面的写法就可以正常运行。