Ich habe integriert JasperReports
in meinem NetBeans
Plattform und ich kann mit dem folgenden Code Berichte erstellen:
Map<String, Object> params = new HashMap<String, Object>();
Connection conn = DriverManager.getConnection("databaseUrl", "userid", "password");
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, conn);
JasperExportManager.exportReportToHtmlFile(jasperPrint, reportDest);
JasperViewer.viewReport(jasperPrint);
Dieses Zeug funktioniert perfekt.
Aber nicht ich versuche zu integrieren JasperReports
con GWT
. Ich habe meinen Server als GlassFish
Server.
Ich erhalte das Verbindungsobjekt mit dem folgenden Code:
public static Connection getConnection() {
try {
String JNDI = "JNDI name";
InitialContext initCtx = new InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource) initCtx.lookup(JNDI);
Connection conn = (Connection) ds.getConnection();
return conn;
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
und dann
Map<String, Object> params = new HashMap<String, Object>();
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, getConnection());
JasperExportManager.exportReportToHtmlFile(jasperPrint, reportDest);
JasperViewer.viewReport(jasperPrint);
aber ich erhalte immer eine Fehlermeldung. Hier ist ein Stacktrace:
com.google.gwt.user.server.rpc.UnexpectedException:
Service method 'public abstract java.lang.Boolean com.client.service.GenerateReport()'
threw an unexpected exception: java.lang.NoSuchMethodError:
net.sf.jasperreports.engine.fonts.SimpleFontFamily.setExportFonts(Ljava/util/Map);
Ich bin dabei, dies auf dem Server zu implementieren. Ich bin mit RPC-Aufrufe, um diese Methode zu arbeiten, wenn eine Schaltfläche angeklickt wird.
Können Sie mir bitte helfen, wie ich das Problem lösen kann. (Das heißt, zu integrieren JasperReports
con GWT
).
Ich würde jede Erklärung mit etwas Code sehr schätzen, da ich nur ein Anfänger bin.
Gracias
0 Stimmen
Ja, eine bessere Fehlerklassifizierung würde definitiv helfen.
0 Stimmen
Der Fehler, den ich bekomme, ist com.google.gwt.user.server.rpc.UnexpectedException: Die Dienstmethode 'public abstract java.lang.Boolean com.client.service.GenerateReport()' hat eine unerwartete Ausnahme ausgelöst: java.lang.NoSuchMethodError: net.sf.jasperreports.engine.fonts.SimpleFontFamily.setExportFonts(Ljava/util/Map);
0 Stimmen
Haben Sie Ihre Antwort erhalten? Ich habe das gleiche Problem? Dankeschön
0 Stimmen
Ich denke, das Problem liegt darin, dass die Client- und die Serverseite eine unterschiedliche Version von
JasperReports
Bibliothek. Der erste Schritt zur Lösung dieses Problems besteht darin, die gleiche Version der JR-Bibliothek zu verwenden.