Pengenalan
Bagi programmer java sering mengalami kesukaran untuk memanggil fail jasper report bersama dengan jsp yang banyak menggunakan kod aturcara yang panjang serta disimpan di dalam bean ataupun servlet. Di dalam tutorial ini, kod aturcara yang pendek serta ringkas digunakan untuk memanggil fail jasper report (*.jrxml).
Apa yang perlu anda ada ?
Anda perlu mendapatkan perisian seperti yang berikut :-
a.
iReport versi terkini yang boleh dimuatturun secara percuma dari laman web http://jasperforge.org/projects/ireport
b.
Download fail jar untuk groovy-all.jar, commons-beanutils.jar sebagai tambahan dalam fail lib yang terdapat dalam folder /WEB-INF/lib.
Andaian dalam tutorial ini :
1. Anda menggunakan framework j2ee tomcat ecom staf atau pelajar UMP yang sudah mempunyai fail lib jasper report di dalam folder /WEB-INF/lib.
2. Anda sudah memasang program aplikasi ireport di dalam computer anda seperti yang terdapat dalam tutorial pemasangan ireport, xampp dan php yang lepas.
LANGKAH PENTING :
1.
Sila salin dan paste kan file groovy-all.jar, commons-beanutils.jar
ke dalam folder /WEB-INF/lib.
2.
Buat satu fail jasper report menggunakan ireport designer (.jrxml) dan pastekan fail ini ke dalam folder web/cms/jasper_report (folder yang dicipta) seperti yang anda selalu lakukan untuk membangunkan modul di ecom.
3.
Sila pastikan fail *jrxml berada di lokasi yang sah :
String
filePath="D:/eComm_UMPStaff/web/WEB-INF/report/tomcat.jrxml";
|
4.
Bagi laporan yang ada parameter yang perlu dihantar kepada fail jasper report anda perlu menambah kod berikut :-
Map parameters = new HashMap();
parameters.put("Title", "Laporan sabri");
|
5.
Sila ubah connection mengikut setup pangkalan data local di computer anda (jika anda menggunakan tomcat yang bukan framework ecommunity :-
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:dbpekan","cmsadmin","root");
/* changed here */
|
CONTOH 1 : MENJANA LAPORAN (MENGGUNAKAN DATASOURCE CMSDB ECOM)
<%@ page import="net.sf.jasperreports.engine.*"%>
<%@ page import="java.util.*"%>
<%@ page import ="java.io.*"%>
<%@ page import ="java.sql.*"%>
<%@ page import ="net.sf.jasperreports.view.*"%>
<%@ page import ="net.sf.jasperreports.view.save.*"%>
<%@ page import="java.sql.Connection.*"%>
<%@ page import="java.sql.SQLException.*"%>
<%@ page import="java.util.HashMap.*"%>
<%@ page import="java.util.Map.*"%>
<%@ page
import="net.sf.jasperreports.engine.JRException.*"%>
<%@ page
import="net.sf.jasperreports.engine.xml.JRXmlLoader.*"%>
<%@ page
import="net.sf.jasperreports.engine.JasperCompileManager.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperFillManager.*"%>
<%@ page
import="net.sf.jasperreports.engine.JasperExportManager.*"%>
<%@ page
import="net.sf.jasperreports.engine.JasperPrint.*"%>
<%@ page
import="net.sf.jasperreports.engine.JasperReport.*"%>
<%@ page import="net.sf.jasperreports.engine.design.JasperDesign.*"%>
<%@ page
import="net.sf.jasperreports.view.JasperViewer.*"%>
<%@ page import="java.util.*,java.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="java.text.*"%>
<%@ page import="javax.sql.*"%>
<%@ page session="true" %>
<%@ include file="/includes/import.jsp" %>
<%
Statement stmt1;
JasperReport
jasperReport;
JasperPrint
jasperPrint;
JRResultSetDataSource
obj ;
ResultSet rs3;
String pdftext ,
csvtext , htmltext , xmltext , exceltext , wordtext , path;
Connection conn =
null;
DBConnectionPool
dbPool = null;
try
{
Context
initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup( "java:comp/env" );
DataSource ds = (DataSource)envCtx.lookup(
"jdbc/cmsdb" );
conn = ds.getConnection();
dbPool = TvoDBConnectionPoolFactory.getConnectionPool(request);
}
catch(Exception
e)
{
out.println("Database
error : " + e.toString());
}
if (conn!=null)
{
try {
String fileName="tomcat.jrxml";
String
filePath="D:/eComm_UMPStaff/web/WEB-INF/report/tomcat.jrxml";
/* @window path */
//String
filePath=request.getRealPath(""+"/WEB-INF/report/"+fileName);
/* @linux path */
jasperReport = JasperCompileManager.compileReport(filePath);
jasperPrint = JasperFillManager.fillReport(jasperReport, new
HashMap(),conn);
response.setContentType("application/pdf");
response.addHeader("Content-Type",
"application/pdf");
response.setHeader("Cache-Control", "no-cache");
JasperExportManager.exportReportToPdfStream(jasperPrint,response.getOutputStream());
}
catch(Exception
ee)
{
System.out.println(ee);
}
}
%>
|
CONTOH 2 : MENJANA LAPORAN (TANPA MENGGUNAKAN DATASOURCE)
<%@ page
import="net.sf.jasperreports.engine.*"%>
<%@ page import="java.util.*"%>
<%@ page import ="java.io.*"%>
<%@ page import ="java.sql.*"%>
<%@ page import
="net.sf.jasperreports.view.*"%>
<%@ page import
="net.sf.jasperreports.view.save.*"%>
<%@ page
import="java.sql.Connection.*"%>
<%@ page import="java.sql.SQLException.*"%>
<%@ page
import="java.util.HashMap.*"%>
<%@ page
import="java.util.Map.*"%>
<%@ page
import="net.sf.jasperreports.engine.JRException.*"%>
<%@ page
import="net.sf.jasperreports.engine.xml.JRXmlLoader.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperCompileManager.*"%>
<%@ page
import="net.sf.jasperreports.engine.JasperFillManager.*"%>
<%@ page
import="net.sf.jasperreports.engine.JasperExportManager.*"%>
<%@ page
import="net.sf.jasperreports.engine.JasperPrint.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperReport.*"%>
<%@ page
import="net.sf.jasperreports.engine.design.JasperDesign.*"%>
<%@ page
import="net.sf.jasperreports.view.JasperViewer.*"%>
<%@ page
import="java.util.*,java.sql.*"%>
<%@ page
import="javax.naming.*"%>
<%@ page import="java.text.*"%>
<%@ page import="javax.sql.*"%>
<%@ page session="true" %>
<%@ include
file="/includes/import.jsp" %>
<%
Connection
conn;
Statement
stmt1;
JasperReport
jasperReport;
JasperPrint
jasperPrint;
JRResultSetDataSource
obj ;
ResultSet
rs3;
String
pdftext , csvtext , htmltext , xmltext , exceltext , wordtext , path;
Class.forName("oracle.jdbc.driver.OracleDriver");
/* @load oracle driver */
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:dbpekan","cmsadmin","root");
/* changed here */
if
(conn!=null)
{
try
{
String
fileName="tomcat.jrxml";
String
filePath="D:/eComm_UMPStaff/web/WEB-INF/report/tomcat.jrxml"; /* @window path */
//String
filePath=request.getRealPath(""+"/WEB-INF/report/"+fileName); /* @linux path */
jasperReport
= JasperCompileManager.compileReport(filePath);
jasperPrint
= JasperFillManager.fillReport(jasperReport, new HashMap(),conn);
response.setContentType("application/pdf");
response.addHeader("Content-Type",
"application/pdf");
response.setHeader("Cache-Control",
"no-cache");
JasperExportManager.exportReportToPdfStream(jasperPrint,response.getOutputStream());
}
catch(Exception
ee)
{
System.out.println(ee);
}
}
%>
|
CONTOH OUTPUT :
No comments:
Post a Comment