# JasperReport: Parameter befüllen



## Holger (19. Dez 2012)

Hey Leute,

arbeite seit kurzem mit JasperReport. Ich habe über iReport ein jrxml-File erstellt. In diesem xml-File existieren drei field-Tags. 
Diese Tags würde ich gerne mit Java befüllen. 

Mein Code sieht folgendermaßen aus:


```
public static void main(String[] args) {
		System.out.println("Start creation");

		JasperReport report;
		JasperPrint print;

		HashMap<String, Object> parameters = new HashMap<String, Object>();
		parameters.put("logoPath", "temp\\logo.jpg");
		parameters.put("companyName", new String("Company Name"));
		parameters.put("date", new Date());

		try {
			report = JasperCompileManager
					.compileReport("JRXML\\Template2.jrxml");
			for (JRField field : report.getFields()) {
				System.out.println(field.getName() + "|"
						+ field.getValueClassName());
			}
			print = JasperFillManager.fillReport(report, parameters, new JREmptyDataSource());
			JasperExportManager.exportReportToPdfFile(print, "Template2.pdf");
		} catch (JRException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		System.out.println("Stop creation");
	}
```

Laut Tutorial sollten so die einzelnen Fields mit den Werten aus der HashMap befüllt werden. Jedoch werden die Felder in der fertigen PDF-Datei mit null angegeben. 

Jemand eine Ahnung woran das liegt?

Beiläuftig: Ich verwende die Version 5.0.0 von JasperReport

Beste Grüße
Holger


----------



## Phash (19. Dez 2012)

heissen die Felder im jrxml gleich wie in deiner java anwendung?


----------



## Holger (19. Dez 2012)

Jap. 

Die jrxml sieht folgender Maßen aus:
[XML]
<?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="Template1" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isTitleNewPage="true" uuid="6e2477ab-36b4-49c8-a65b-843bee59fb71">
	<property name="ireport.zoom" value="1.0"/>
	<property name="ireport.x" value="0"/>
	<property name="ireport.y" value="0"/>
	<field name="companyName" class="java.lang.String"/>
	<field name="date" class="java.util.Date"/>
	<field name="logoPath" class="java.lang.String"/>
	<background>
		<band splitType="Stretch"/>
	</background>
	<title>
		<band height="35" splitType="Stretch"/>
	</title>
	<pageHeader>
		<band height="66" splitType="Stretch">
			<textField>
				<reportElement uuid="3819151e-d65f-4932-bc77-1b3f876539b5" x="163" y="38" width="392" height="28"/>
				<textElement markup="none"/>
				<textFieldExpression><![CDATA[$F{date}]]></textFieldExpression>
			</textField>
			<image>
				<reportElement uuid="49162e6a-b888-42c2-9a15-e6734b0764b5" x="0" y="3" width="163" height="63"/>
				<imageExpression><![CDATA[$F{logoPath}]]></imageExpression>
			</image>
			<textField>
				<reportElement uuid="11ad4e3e-8010-4c09-8ad3-2f55c91fb98a" x="163" y="3" width="392" height="35"/>
				<textElement markup="none">
					<font size="12" isBold="true"/>
				</textElement>
				<textFieldExpression><![CDATA[$F{companyName}.toString()]]></textFieldExpression>
			</textField>
		</band>
	</pageHeader>
	<columnHeader>
		<band height="61" splitType="Stretch"/>
	</columnHeader>
	<detail>
		<band height="125" splitType="Stretch"/>
	</detail>
	<columnFooter>
		<band height="45" splitType="Stretch"/>
	</columnFooter>
	<pageFooter>
		<band height="54" splitType="Stretch">
			<image scaleImage="RetainShape">
				<reportElement uuid="49162e6a-b888-42c2-9a15-e6734b0764b5" x="0" y="0" width="118" height="54"/>
				<imageExpression><![CDATA[$F{logoPath}]]></imageExpression>
			</image>
			<textField>
				<reportElement uuid="a7f4feb4-8c12-46cb-9584-825557c31d77" x="118" y="0" width="337" height="54"/>
				<textElement markup="none"/>
				<textFieldExpression><![CDATA[$F{companyName}.toString()]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement uuid="ebef98da-41f0-45aa-b506-39259c73db11" x="455" y="0" width="100" height="54"/>
				<textElement markup="none"/>
				<textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
			</textField>
		</band>
	</pageFooter>
	<summary>
		<band height="42" splitType="Stretch"/>
	</summary>
</jasperReport>

[/XML]


----------



## Phash (19. Dez 2012)

new String macht man nicht... da reicht
	
	
	
	





```
String companyName = "CompanyName"
```

damn... at work haette ich n Beispiel dafuer


----------



## Holger (19. Dez 2012)

Das war nur eine Idee meinerseits das es daran liegen könnte, behebt leider auch nicht das Problem.

Für mich sieht es einfach danach aus, das die HashMap nicht wirklich an nimmt, bzw die Werte nicht raus zieht.


----------



## Phash (19. Dez 2012)

debuggen?
was sagt der debugger ueber den Inhalt der HashMap?


----------



## Holger (19. Dez 2012)

Der debugger sagt die Map ist befüllt, kann Sie jedoch nicht im print-Objekt wieder finden. 

Mein Gedanke ging auch eher in die Richtung das die Map Jasper-intern nicht vernünftig verarbeitet wird


----------



## Holger (20. Dez 2012)

Problem behoben, musste die einzelnen Werte nicht als field in der xml File hinterlegen sonder als Parameter


----------

