ireport在jsp中显示问题
jrxml文件在IREPORT中正常,并且执行报表(使用动态连接也可以正常显示数据),请问在JSP中怎么调用这个文件呢(调用JSPER文件)? 为什么我下面的代码在浏览器中显示空白页面?若有错 可否那个模板看下
<%@page contentType="text/html;charset=UTF-8"%><%@page
import="net.sf.jasperreports.engine.export.JRHtmlExporterParameter,
net.sf.jasperreports.engine.JRExporter,
net.sf.jasperreports.engine.export.JRHtmlExporter,
net.sf.jasperreports.engine.export.JRPdfExporter,
net.sf.jasperreports.engine.export.JRXlsExporterParameter,
net.sf.jasperreports.engine.JasperPrint,
net.sf.jasperreports.engine.JRRuntimeException,
net.sf.jasperreports.engine.JasperFillManager,
net.sf.jasperreports.engine.JRExporterParameter,
net.sf.jasperreports.engine.export.JRXlsExporter,
java.util.HashMap,
java.util.Map,
java.util.Enumeration,
java.io.File,
java.sql.*,
net.sf.jasperreports.j2ee.servlets.*
"
%><%
//获取数据库连接,获取方法根据具体情况而定
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@134.128.5.253:1521:sposs","pingan","pingan");
//获取关键参数
String ls_reportname="test";//报表文件名
String ls_exporttype="HTML";//报表文件格式类型(页面html,excel,pdf)
if(ls_exporttype==null||"".equals(ls_exporttype))ls_exporttype="HTML";
else ls_exporttype=ls_exporttype.toUpperCase();
if(!("PDF".equals(ls_exporttype))&&!("EXCEL".equals(ls_exporttype)))ls_exporttype="HTML";
try {
//读取jasper文件
File reportFile = new File(application.getRealPath("/module/statistics/report/test.jasper"));
if (!reportFile.exists())
throw new JRRuntimeException("File "+ reportFile.toString()+" not found!");
//创建parameter对象
Map parameters = new HashMap();
String year = request.getParameter("year");
String month = request.getParameter("month");
String areaid = request.getParameter("areaid");
parameters.put("yearnum", year);
parameters.put("monthnum",month);
parameters.put("areaid",areaid);
JasperPrint jasperPrint =
JasperFillManager.fillReport(
reportFile.getPath(),
parameters,
conn
);
conn=null;
JRHtmlExporter exporter = null;
ServletOutputStream ouputStream = null;
//显示报表的文件格式
exporter = new JRHtmlExporter();
exporter.setParameter(JRHtmlExporterParameter.OUTPUT_FILE_NAME,ls_reportname+".html");
exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");
exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML, "<div style=\"page-break-after:always\"></div>");
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.exportReport();
}
catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
out.println(e.getMessage());
}
finally{
conn=null;
}
%>