日期:2014-05-20  浏览次数:20751 次

Ireport+JasperReport的问题 在线求解 马上送分
我想实现的功能是   通过JSP页   将报表展现出来   所以选择了Ireport工具做开发
我的做法是   首先   通过ireport编译生成了.jasper文件   然后将生成的文件
copy到我JBuilder工程目录下  
然后   我发现ireport下   本来就存在一个   jasperreports-1.2.8.jar包
所以就没下载JasperReport   直接加载到工程目录下
通过下面的语句   我想调用到这个.jasper文件
<%@   page   contentType= "application/pdf;charset=GB2312 "%>

<%@   page   import= "java.util.* "   %>
<%@   page   import= "java.io.* "   %>
<%@   page   import= "java.sql.* "   %>
<%@   page   import= "net.sf.jasperreports.engine.* "   %>
<%@   page   import= "net.sf.jasperreports.engine.export.* "%>  
<%
//编译之后生成的报表   .jasper   文件的存放位置
File   reportFile   =   new   File(application.getRealPath( "/ireport/total_taking_report.jasper "));
//连SQL的JDBC   URL
String   url   = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=report ";
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance();
//传递报表中用到的参数
  Map   parameters   =   new   HashMap();
  parameters.put( "REPORT_CODE ", "01 ");
  parameters.put( "REPORT_TIME ", "2006-08-01 ");
  System.out.println( "----conn--- ");
  //连接到数据库
  Connection   conn   =DriverManager.getConnection(url, "sa ", "123 ");
  System.out.println( "---Japer   end---- ");
  System.out.println(reportFile.getPath());
  byte[]   bytes=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);
  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();
  %>

可是没效果   寻求各位高人帮忙解决   感恩戴德!!

------解决方案--------------------
正好我也在用这个工具,昨天做了一个这样的例子,已经成功输出,这是我的QQ:45323103。加我,我们交流一下。
------解决方案--------------------
blog 更新:
think in java 各章后练习答案.....
http://blog.csdn.net/heimaoxiaozi/