Current Version: |
Hier wird Schritt für Schritt beschrieben, wie man xsreports in eine bestehende WEB Anwendung integriert. Schritt 1 - Daten bereitstellenEin Report braucht Daten. xsreports kennt genau zwei Arten - Strings und
Arrays. Strings werden eins zu eins in den Report übernommen. Arrays werden als
Tabellen dargestellt. Zur Übergabe an den Report werden alle Daten in ein Beispiel: Properties ReportData=new Properties(); ReportData.put("firstname","Kalle"); ReportData.put("name","Svenson"); ReportData.put("password","kalle42"); String[][] Activities={{"1","Malen"},{"2","Lesen"},{"3","Sport"}}; ReportData.put("activities",Activities); // Die Daten in der Session speichern Session.setAttribute("reportdata",ReportData); Diesen Code wird mal normalerweise in die (JSP) Seite einbauen, von der aus der Report abgerufen werden kann - es muss aber nicht so sein. Damit stehen die Daten dem Report unter dem Namen "reportdata" zur Verfügung (den Namen gut merken - wird später noch gebraucht). Schritt 2 - Link bereitstellenDer Benutzer kann den Report mit üblichen WEB Elementen wie "Link" oder "Button" öffenen oder zum Download anfordern. Diese Elemente müssen natürlich in die Seiten der WEB Anwendung eingebaut werden, von denen aus der Report abgerufen wird. Beispiel: out.println("<a href='reports/Sample1Rtf'>Report</a>"); So, dass war's schon mit Programmieren - der Rest wird konfiguriert. Schritt 3 - Template erstellenNun wir es kreativ - ein schönes Template muss her. Dazu nimmt man eine gute
Textverarbeitung (also MS-WORD) und legt los. Bilder, Kopf und Fusszeile -
alles was in RTF geht ist erlaubt. An den Stellen, an denen man die Daten aus
der WEB-Anwendung anzeigen möchte, schreibt man Name unter dem das Datum in dem
Properties Objekt gespeicht wurde in folgender Form: ${property-name} Das Dokument wird dann als RTF Datei im WEB-INF/templates Verzeichnis gespeichert. Zusaetzlich kann man noch "Properties" fuer das Template definieren. Diese
werden in einer Datei abgelegt die den gleichen Name wie das Template hat. Was man genau in dieser Propertiesdatei einstellen kann, ist bei den jeweiligen Report Generator beschrieben, also hier fuer den RTF Generator, hier fuer den CSV Generator und hier fuer den Text Generator. Schritt 4 - Servlet konfigurierenNun muss das Servlet das den Report für uns erstellt konfiguriert werden. Das
Servlet ist in dem Archive xsreports.jar enthalten - also kopieren wir diese
Datei erst mal in das Der Name des Servlet kann frei gewählt werden. Die Klasse die das Servlet
implementiert ist
Hier ist ein Auszug aus der Datei WEB.XML: <servlet> <servlet-name>Sample1Rtf</servlet-name> Schritt 5 - URL konfigurierenZum Schluss noch schnell die URL konfigurieren, über die der Report geladen werden kann. Wie auch bei anderen Servlet's wird das mit einem "Servlet-Mapping" Eintrag erledigt:<servlet-mapping> <servlet-name>Sample1Rtf</servlet-name> <url-pattern>/reports/Sample1Rtf</url-pattern> </servlet-mapping> Schritt 6 - Log4JFalls die Applikation Log4J selbst nicht verwendet, ist noch ein weiteres Servlet zu konfigurieren, dessen einzige Aufgabe die Konfiguration von Log4J ist. Der Eintrag in der Datei WEB.XML sieht wie folgt aus:<!-- INIT von Log4J --> <servlet> <servlet-name>InitServlet</servlet-name> <servlet-class>de.kl.InitServlet</servlet-class> <!-- Logger --> <init-param> <param-name>log4j.initfile</param-name> <param-value>Log4J_DefaultConfig.properties</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> |