Friday, January 6, 2012

Run JasperReport (ireport) in JSP

(1) Import the following libraries to your project
===================================================
jasperreports-3.7.2.jar
iText-2.1.7.jar
jdt-compiler-3.1.1.jar
groovy-all-1.5.5.jar
commons-logging-api-1.1.jar
commons-logging-adapters-1.1.jar
commons-logging-1.1.jar
commons-digester-1.8.jar
commons-collections-testframework-3.2.jar
commons-collections-3.2.jar
commons-beanutils-core.jar
commons-beanutils-bean-collections.jar
commons-beanutils.jar

(2) Sample JSP Code
===================================================
String dirPath = "ireports";
String realPath = this.getServletContext().getRealPath(dirPath);
String orderNo = request.getParameter("orderNo");
String jasperReport = "nameCardFront.jasper";
JasperPrint print = null;
String outputFileName = null;
Connection conn = null;

try{
InitialContext initialContext = new InitialContext();
DataSource ds = (DataSource)initialContext.lookup("java:comp/env/jdbc/DOS");
conn = ds.getConnection();

Map parameters = new HashMap();
parameters.put("orderNo", "a");
print = JasperFillManager.fillReport(realPath + "//" + jasperReport, parameters, conn);

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd-HHmmss");
outputFileName = "file.pdf";

out.clearBuffer();
//set the content type(can be excel/word/powerpoint etc..)
response.setContentType ("application/pdf");
//set the header and also the Name by which user will be prompted to save
response.setHeader ("Content-Disposition", "attachment; filename=\"" + outputFileName);

JasperExportManager.exportReportToPdfStream(print, response.getOutputStream());

}
catch(Exception ex){
ex.printStackTrace();
out.println(ex.getMessage());
}
finally{
if (conn != null)
conn.close();
}

No comments:

Post a Comment