Jasper sub Fehler melden
com.hughes.Ausnahme.HughesException bei com.hughes.service.serviceImpl.HomeServiceImpl.sendTicketEmail(HomeServiceImpl.java:1094) bei der sun.reflektieren.NativeMethodAccessorImpl.invoke0(Native-Methode) ....................................................... .......................................... Verursacht durch: net.sf.jasperreports.Motor.JRException: Ressource nicht gefunden : nullinvoiceDetail.jasper bei net.sf.jasperreports.repo.RepositoryUtil.getResource(RepositoryUtil.java:155) bei net.sf.jasperreports.repo.RepositoryUtil.getReport(RepositoryUtil.java:126) bei net.sf.jasperreports.Motor.füllen.JRFillSubreport.evaluateReport(JRFillSubreport.java:317) bei net.sf.jasperreports.Motor.füllen.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:347) bei net.sf.jasperreports.Motor.füllen.JRFillSubreport.bewerten(JRFillSubreport.java:275) bei net.sf.jasperreports.Motor.füllen.JRFillElementContainer.bewerten(JRFillElementContainer.java:257) bei net.sf.jasperreports.Motor.füllen.JRFillBand.bewerten(JRFillBand.java:473) bei net.sf.jasperreports.Motor.füllen.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2021) bei net.sf.jasperreports.Motor.füllen.JRVerticalFiller.fillDetail(JRVerticalFiller.java:755) bei net.sf.jasperreports.Motor.füllen.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:265) bei net.sf.jasperreports.Motor.füllen.JRVerticalFiller.fillReport(JRVerticalFiller.java:128) bei net.sf.jasperreports.Motor.füllen.JRBaseFiller.füllen(JRBaseFiller.java:836) bei net.sf.jasperreports.Motor.füllen.JRBaseFiller.füllen(JRBaseFiller.java:765) bei net.sf.jasperreports.Motor.füllen.JRFiller.fillReport(JRFiller.java:84) bei net.sf.jasperreports.Motor.JasperFillManager.fillReport(JasperFillManager.java:624) bei com.hughes.service.serviceImpl.HomeServiceImpl.sendTicketEmail(HomeServiceImpl.java:1046) ... 81 mehr
JasperReport jasperReport = JasperCompileManager.compileReport(hdnWebInfPath+seperator+"reports"+seperator+"invoice.jrxml");
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, model, new JREmptyDataSource());
JasperExportManager.exportReportToPdfFile(jasperPrint, fPath+seperator+fileName);
dies funktioniert bei einfachen Bericht
funktioniert nicht für sub-Berichte...
- Man kann diesem post, diese eine und diese one
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meine Jarper wissen ist paar Versionen alt, aber lasst uns hoffen, dass dies hilfreich ist.
Dies ist, weil jasper nicht finden, Ihre Unterbericht. Jasper kompilieren können Sie Ihren Bericht, aber es wird nicht kompiliert verwiesen Unterberichte beim Aufruf
compileReport
. Beim Befüllen des Berichts verwiesen-Unterberichte werden nicht gefunden, weil Sie nicht im Arbeitsverzeichnis.(Kompilieren Bericht jedes mal, wenn es angefordert wird, ist irgendwie eine schlechte Idee (es sei denn, Sie haben einige wirklich schwere Gründe, dies zu tun).)
Es gibt einige Möglichkeiten, dies zu lösen. Man würde damit sicher sein, das die Pfade korrekt sind und vorkompilieren der Berichte vor der Anwendung aus. Links Alex K bereitgestellt werden, sind eine ausgezeichnete Quelle für diese. Wenn in der Anwendung die Zusammenstellung ist dann erforderlich, unter Verwendung von Lösung möglich ist:
In der web-Anwendung habe ich gefunden, dass eine funktionierende Praxis zu handhaben Zusammenstellung und Befüllung Ihrer Berichte zu verwalten manuell. Hier ist der helper-Klasse, die ich schrieb. Hoffe, dass es sinnvoll ist (es nutzt den Frühling, aber diese Teile sind leicht austauschbar).
Mit Hilfe dieser Klasse finden Sie unter Unterberichte in Dokumenten wie diesem:
Hier
$P{data}
geeignet ist, das Objekt als document parameter, wogetSubreport()
endet AufrufReportSource.getReport()
. Es könnte natürlich sein$P{reportSource}.getReport("....")
wennReportSource
wird als parameter direkt. (Wir verwenden ReportModel-Ansatz; kurz: es ist Präsentations-Modell eingebaut, um den Kontext der Berichte).