私は長い間試みていましたが、iReport デザイナーを使用してレポートを作成しています。その中で、すべての形式(PDF、Excel、RTF)で画像を表示しています。しかし、html形式で表示しようとしている間、画像が表示されません。この問題を解決するために私がやりたいこと。長い間disを試しています。誰でも私を助けることができます。以下は、HTMLレポートの画像のコントローラークラスで使用しているコードです。
String image = request.getSession().getServletContext().getRealPath("/");
Map parameterMap = new HashMap();
parameterMap.put("datasource", JRdataSource);
parameterMap.put("Image1",image);
parameterMap.put("Image2",image);
parameterMap.put(JRExporterParameter.CHARACTER_ENCODING, "UTF8");
parameterMap.put(JRHtmlExporterParameter.IMAGES_URI, "../report/image?image=");
parameterMap.put(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);
//htmlReport bean has ben declared in the jasper-views.xml file
modelAndView = new ModelAndView("htmlReport", parameterMap);
return modelAndView;
以下は私のjrxmlコードです。
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="testreport2" language="java" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="Image1" class="java.lang.String"/>
<parameter name="Image2" class="java.lang.String"/>
<field name="activePackage" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="60" splitType="Stretch">
<staticText>
<reportElement mode="Opaque" x="0" y="0" width="555" height="56"/>
<textElement/>
<text><![CDATA[]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="0" y="2" width="515" height="54" backcolor="#E6E6E6"/>
<textElement/>
<text><![CDATA[]]></text>
</staticText>
<image scaleImage="Clip" isUsingCache="false">
<reportElement key="image-1" x="308" y="2" width="187" height="58"/>
<imageExpression class="net.sf.jasperreports.engine.JRRenderable"><![CDATA[net.sf.jasperreports.engine.JRImageRenderer.getInstance(image-dir"/flower1.png"))]]></imageExpression>
</image>
<image scaleImage="Clip" isUsingCache="false">
<reportElement key="image-1" x="0" y="0" width="226" height="57"/>
<imageExpression class="net.sf.jasperreports.engine.JRRenderable"><![CDATA[net.sf.jasperreports.engine.JRImageRenderer.getInstance(image-dir"/flower2.png"))]]></imageExpression>
</image>
</band>
</title>
<pageHeader>
<band height="35" splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band height="61" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="100" height="20"/>
<textElement/>
<text><![CDATA[activePackage]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="39" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{activePackage}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="45" splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="54" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="42" splitType="Stretch"/>
</summary>
</jasperReport>
ここでは、2 つのイメージが webapp/images の下にあります。これらのイメージをパラメーターとしてコントローラー クラスから jrxml ファイルに渡します。
画像が表示されません。私のコードに何か問題があります。