Dalam integrasi Spring Framework dengan Jasperreports, terkhusus pada bagian Spring MVC (model,view,controller), Spring framework menyediakan fasilitas yang memudahkan developer untuk bisa “bermain-main” dengan Jasperreports.
Tulisan sebelumnya, yang membahas bagaimana secara teknis “memasang dan menjalankan” Jasperreports pada Spring Framework
bertujuan untuk memberikan sekilas celah-celah yang terlewatkan pada saat mengintegrasikan keduanya.
Ada sisi yang menarik menurut saya dari “rendering” yang disediakan oleh Spring Framework untuk output dari report bisa dihasilkan.
Secara “default” Spring Framework menyediakan 4 buah format output:
- format pdf
- format excel
- format cvs
- format html
Suatu saat saya membutuhkan format output report yang bisa diolah oleh program pengolah kata (ms word,openoffice), dan kita ketahui bahwa Jasperreports mempunyai kemampuan untuk mengekspor format output laporan dalam bentuk rtf. Dari sinilah kemudian saya mencoba untuk “menengok” source code dari Spring Framework terutama pada MVC-nya. Saya buat satu class, kemudian saya tambahkan satu baris kode program pada class yang lain. Rasa penasaran saya bertambah ketika saya coba compile ulang seluruh source Spring Framework tersebut ternyata hasilnya tidak ada eror. Rasa gembira bercampur penasaran yang hampir memuncak mendorong saya untuk cepat-cepat mencoba spring.jar yang baru. Dan hasilnya …. bisa maannn!!!!…..
Mo tau detil caranya? simak langkah-langkah berikut:
- Penuhi dulu persyaratannya. Syarat yang harus dipenuhi adalah:
- Anda sudah familiar dengan pemrograman java
- Anda sudah pernah memakai Spring Framework terkhusus bagian MVC-nya
- Anda sudah menginstall lingkungan pemrogramannya, seperti JDK (saya pakai JDK 5) dan apache-ant (saya pakai versi 1.6.2)
- Tentu saja anda sudah punya source Spring Framework, yang bisa didownload di situsnya Spring Framework (saya sudah download spring-framework-2.0-with-dependencies)
- Lihat, amati, pelajari bagian package dari source Spring Framework terutama bagian MVC-nya, yaitu: org.springframework.web.servlet.view.jasperreports
- Buat satu class baru dengan nama JasperReportsRtfView.java, class ini berada pada package org.springframework.web.servlet.view.jasperreports.
Adapun kode program dari class tersebut adalah sebagai berikut:
package org.springframework.web.servlet.view.jasperreports;
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.export.JRRtfExporter;
public class JasperReportsRtfView extends AbstractJasperReportsSingleFormatView {
public JasperReportsRtfView() {
setContentType("application/vnd.ms-word");
}
protected JRExporter createExporter() {
return new JRRtfExporter();
}
protected boolean useWriter() {
return false;
}
} - Tambahkan satu baris kode program berikut ke dalam class JasperReportsMultiFormatView pada bagian constructor-nya.
this.formatMappings.put("rtf", JasperReportsRtfView.class); - Lakukan kompilasi terhadap source setelah ditambah tersebut, dengan menjalankan build.xml yang ada pada root direktori
dari spring-framework-2.0-with-dependencies. Dengan perintah ant – alljars pada command line. Hasilnya dapat dilihat pada direktori dist, spring.jar yang baru siap digunakan
Dari pengalaman ini bisa saya ambil kesimpulan ternyata kita sangat terbantu dengan Framework yang memang memiliki konsep pemrograman OOP yang bagus.
Saya merasa “enjoy” untuk bisa meng-”oprek” sesuai dengan kebutuhan saya dilapangan, dan itu dilakukan dengan sangat mudah dan sederhana.