Java 导出html页面时,jasper报告中未加载图像
在使用jasper reports导出html时,我无法显示图像。我试图从该论坛找到不同的解决方案。但我没有得到任何运气,我需要知道哪里可以漏掉。我正在共享我的代码 jasper代码:Java 导出html页面时,jasper报告中未加载图像,java,jasper-reports,Java,Jasper Reports,在使用jasper reports导出html时,我无法显示图像。我试图从该论坛找到不同的解决方案。但我没有得到任何运气,我需要知道哪里可以漏掉。我正在共享我的代码 jasper代码: <parameter name="IMG_PATH" class="java.lang.String"> <parameterDescription><![CDATA[]]></parameterDescription> </p
<parameter name="IMG_PATH" class="java.lang.String">
<parameterDescription><![CDATA[]]></parameterDescription>
</parameter>
<image>
<reportElement uuid="f4c3be1d-ec89-4e22-92c5-e75fbad2bcc5" isPrintRepeatedValues="false" x="567" y="2" width="174" height="56"/>
<imageExpression><![CDATA[$P{IMG_PATH}+"\\logo.gif"]]></imageExpression>
</image>
但是我不能得到图像,看到谷歌Chrome>控制台,得到像这样的图像
<tr valign="top">
<td colspan="2" style="width: 292px; height: 43px;"></td>
<td style="width: 4px; height: 43px;"></td>
<td colspan="2" rowspan="4"><img src="http://localhost:7005/SamplePortal/resources/images/logo.pngimg_0_0_5" style="width: 174px" alt=""></td>
</tr>
我在IMAGES_URI中遗漏了上下文路径,在servlet映射中给出了错误的路径
if (reportFrmType.equalsIgnoreCase("HTML")) {
rptExporter.setParameter(
JRHtmlExporterParameter.CHARACTER_ENCODING, "UTF-8");
rptExporter.setParameter(
JRHtmlExporterParameter.IMAGES_URI,
"http://" + request.getServerName() + ":"
+ request.getServerPort() + ""
+ request.getContextPath()
+ "/servlets/image?image=");
.....
}
和web.xml
<servlet-name>ImageServlet</servlet-name>
<url-pattern>/servlets/image</url-pattern>
</servlet-mapping>
ImageServlet
/servlet/image
谢谢大家的支持
<servlet>
<servlet-name>ImageServlet</servlet-name>
<servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class>
</servlet>
request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
Map imagesMap= new HashMap();
imagesMap.put("IMG_PATH", "wda-logo.png");
request.getSession().setAttribute("IMAGES_MAP", imagesMap);
if (reportFrmType.equalsIgnoreCase("HTML")) {
rptExporter.setParameter(
JRHtmlExporterParameter.CHARACTER_ENCODING, "UTF-8");
rptExporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP,
imagesMap);
rptExporter.setParameter(
JRHtmlExporterParameter.IMAGES_URI,
"image?image=");
rptExporter.setParameter(JRHtmlExporterParameter.IMAGES_DIR_NAME,
"test");
rptExporter.setParameter(
JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR,
Boolean.TRUE);
rptExporter.setParameter(
JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,
}
if (reportFrmType.equalsIgnoreCase("HTML")) {
rptExporter.setParameter(
JRHtmlExporterParameter.CHARACTER_ENCODING, "UTF-8");
rptExporter.setParameter(
JRHtmlExporterParameter.IMAGES_URI,
"http://" + request.getServerName() + ":"
+ request.getServerPort() + ""
+ request.getContextPath()
+ "/servlets/image?image=");
.....
}
<servlet-name>ImageServlet</servlet-name>
<url-pattern>/servlets/image</url-pattern>
</servlet-mapping>