27 Mayıs 2008 Salı

JSF Web/Portlet Uygulamaları için JasperReports tabanlı Raporlama Java Kütüphanesi


JRRaporlama Java Kütüphanesi kaynak kodları:




JRRaporlama.jar dosyası:


 
Yukarıdaki JRRaporlama kütüphanesi hemen indirip JSF Web uygulamaları veya JSF portletleriniz içerisinde kullanarak 
HTML, PDF, Excel, Word gibi formatlarda Web veya portlet uygulamanız içersinde aşağıdaki gibi gösterebilirsiniz.  
 
 
RaporOlustur metodu:
public java.lang.String RaporOlustur(javax.faces.context.FacesContext fc,
                                     int raporTuru,
                                     java.lang.String dBDriver,
                                     java.lang.String dBConnectString,
                                     java.lang.String dBUserName,
                                     java.lang.String dBUserPassword,
                                     java.lang.String reportFileName,
                                     java.lang.String ReportFolderPath,
                                     java.lang.Object[][] parameters)


RaporOlustur metodu IReport ile olusturulmus olan rapor dosyasini kullanarak istenilen formatta rapor alabilmeyi saglar. Bu metod kendi Web uygulamaniz icerisinde kullanilir.

Alabileceginiz rapor formatlari PDF, Word/RTF, Excel ve Html'dir.

Html biciminde rapor istiyorsaniz kendi Web uygulamanizin web.xml dosyasina asagidaki kismi ekleyiniz.

<servlet>
<servlet-name>ImageServlet</servlet-name>
<servlet-class>jrraporlama.ImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ImageServlet</servlet-name>
<url-pattern>/image</url-pattern>
</servlet-mapping>

Web uygulamanizda yapmaniz gereken diger islemler:

· JRRaporlama.jar dosyasini uygulamanizin classpath'ine ekleyiniz.

· JasperReports kitapligini http://www.jasperforge.org/ adresinden indiriniz.
Indirdiginiz dosyadan asagidaki kitapliklari uygulamanizin classpath'ine koyabileceginiz gibi Tomcat'in ../common/lib/ext veya ../lib/ext, SunAS icin ise ../domains/{your-domain}/lib klasorune koyabilirsiniz.
jasperreports-2.0.2-javaflow.jar
jasperreports-2.0.2.jar
commons-beanutils-1.7.jar
commons-collections-2.1.jar
commons-digester-1.7.jar
commons-javaflow-20060411.jar
itext-1.3.1.jar
poi-3.0.1-FINAL-20070705.jar
commons-logging-1.0.2.jar
jdt-compiler-3.1.1.jar
groovy-all-1.0.jar
jaxen-1.1.1.jar
jcommon-1.0.0.jar
jfreechart-1.0.0.jar
jpa.jar
poi-3.0.1-FINAL-20070705.jar





Parametreler:



externalContext -

Web uygulamanizdan this.getExternalContext() seklinde bu paramtereyi deger gecirebilirsiniz. Bu paramtre ile Http response ve request'i elde edilir ve Web uygulamanizin Web sayfasina rapor hazirlanarak gonderilir. JRRaporlama kitapligi JSF 1.1 ve JSF 1.2 (WoodStock) kullanilabilinir. Ancak JSF'de rapor sonrasi asagidaki komut olmaldir. this.getFacesContext().responseComplete();

raporTuru - Alinacak raporun turu

Rapor.PDF, Rapor.DOC, Rapor.XLS, Rapor.HTML olabilir.

dBDriver - Veritabani surucusu

MySQL icin: com.mysql.jdbc.Driver, Oracle icin: oracle.jdbc.OracleDriver

dBConnectString - Veritabani baglantisi karakter katari

MySQL icin ornek: jdbc:mysql://localhost:3306/test, Oracle icin ornek: jdbc:oracle:thin:@localhost:1521:test

dBUserName - Veritabani kullanici adi

dBUserPassword - Veritabani kullanicisinin parolasi

reportFileFullPath - Rapor dosyasinin tam yolu ve adi

Örnek : d:/test/test1.jrxml

subReportFolderPath - Raporun alt raporlari var ise alt raporlarin oldugu klasor

Örnek : d:/test/subreports/

parameters - 2 boyutlu Object sınıfında JasperReports sablonuna gecirilecek parametreler



Örnek :



jrraporlama.Rapor rapor = new jrraporlama.Rapor();
Object[] parametreler = new Object[2];
parametreler[0] = "param1";
parametreler[1] = "deger1";

String sonuc = rapor.RaporOlustur(this.getFacesContext(),
Rapor.HTML,
"com.mysql.jdbc.Driver",
"jdbc\:mysql\://localhost/test",
"testuser",
"password",
"test.jrxml",
"c:/test" ,
parametreler);
if (sonuc != null) {
alert1.setType("error");
alert1.setSummary(sonuc);
}

Hiç yorum yok: