Wir versuchen eine pdf-Datei mit Hilfe von jasperReport zu erzeugen.
Wir übergeben an JavaBeans Data Sources "SAPSAP" eine Collection mit Objekten. Diese Collection wird in der Methode generateCollection() einer Factory-Classe erzeugt.
Wenn wir die pdf-Datei aus dem iReport erzeugen, kriegen die in der Collection übergebene Objekte angezeigt.
Wenn aber die pdf-Datei aus Java-Anwendung erzeugt wird, bekommen wir leeres pdf, obwohl die Collection gefült ist.
Wir vermuten, dass unser Prblem an falschen Parameter-Übergabe liegt, wissen das aber nicht genau.
Wenn uns jemand helfen könnte...
Java-Code sieht so aus:
Map parameters = new HashMap( );
parameters.put( "SAPSAP", new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(....Factory.generateCollection()) );
Locale locale = (Locale)session.getAttribute( "org.apache.struts.action.LOCALE" );
parameters.put( JRParameter.REPORT_LOCALE, locale );
ResourceBundle resourceBundle = ResourceBundle.getBundle( "AppResources", locale );
parameters.put( JRParameter.REPORT_RESOURCE_BUNDLE, resourceBundle );
....
InputStream stream = Thread.currentThread()
.getContextClassLoader()
.getResourceAsStream(pathToJasperFile);
JasperReport report = (JasperReport)JRLoader.loadObject(stream);
JasperPrint jasperPrint = JasperFillManager.fillReport(report, parameters);
JasperExportManager.exportReportToPdfFile(jasperPrint, filePathForReport);
Vielen Dank für die Hilfe.