jasperreports调用用子报表抛空指针异常 5
调用子报表抛java.lang.NullPointerExceptionatnet.sf.jasperreports.engine.fill.JRPrintBand.ad...
调用子报表抛 java.lang.NullPointerException
at net.sf.jasperreports.engine.fill.JRPrintBand.addOffsetElements(JRPrintBand.java:101)
各位大侠怎么搞啊?有没有遇到过。 展开
at net.sf.jasperreports.engine.fill.JRPrintBand.addOffsetElements(JRPrintBand.java:101)
各位大侠怎么搞啊?有没有遇到过。 展开
1个回答
2015-07-20
展开全部
Java代码如下:
<%
//报表编译之后生成的.jasper 文件的存放位置
File reportFile = new File(application.getRealPath("ireport/Test2.jasper"));
//这个是用来联接我的mysql 的JDBC URL
// String url="jdbc:oracle:thin:@localhost:1521:orcl";
//Class.forName("oracle.jdbc.driver.OracleDriver");
//传递报表中用到的参数值
Map<String,Object> parameters = new HashMap<String,Object>();
parameters.put("NAME","aa");
//"Name"是报表中定义过的一个参数名称,其类型为String 型
System.out.println("---------conn-------------");
//连接到数据库
// Connection conn = DriverManager.getConnection(url,"majian","majian");
System.out.println("---------Jasper begin-------------");
//在控制台显示一下报表文件的物理路径
System.out.println(reportFile.getPath());
byte[] bytes=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters);
System.out.println("run");
System.out.println("---------Jasper end-------------");
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
out.clear();
out=pageContext.pushBody();
%>
<%
//报表编译之后生成的.jasper 文件的存放位置
File reportFile = new File(application.getRealPath("ireport/Test2.jasper"));
//这个是用来联接我的mysql 的JDBC URL
// String url="jdbc:oracle:thin:@localhost:1521:orcl";
//Class.forName("oracle.jdbc.driver.OracleDriver");
//传递报表中用到的参数值
Map<String,Object> parameters = new HashMap<String,Object>();
parameters.put("NAME","aa");
//"Name"是报表中定义过的一个参数名称,其类型为String 型
System.out.println("---------conn-------------");
//连接到数据库
// Connection conn = DriverManager.getConnection(url,"majian","majian");
System.out.println("---------Jasper begin-------------");
//在控制台显示一下报表文件的物理路径
System.out.println(reportFile.getPath());
byte[] bytes=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters);
System.out.println("run");
System.out.println("---------Jasper end-------------");
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
out.clear();
out=pageContext.pushBody();
%>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询