ireport学习笔记---java应用程序中使用报表篇

 在正式开始前,我在上一篇的报表里面加入了一个参数id,如下:




当我们运行报表后,就会生成一个.jasper文件,是.jrxml编译后的文件。我这里的文件是test.jasper

1. 在eclipse里新建一个web工程,工程里面要导入jasperreports-   3.1.2.jar,sqljdbc.jar这两个包

2. 建议一个输入的界面,用户输入用户的id。-------index.html文件:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.     <head>
  4.         <title>index.html</title>
  5.         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  6.         <meta http-equiv="description" content="this is my page">
  7.         <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  8.         <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
  9.     </head>
  10.     <body>
  11.         <form action="ireport_html.jsp" id="myform" method="post">
  12.             用户ID:
  13.             <input name="userId" type="text"  width="80">
  14.             <br />  
  15.             <input name="button" type="submit" value="确定"  />
  16.         </form>
  17.     </body>
  18. </html>
3. 建议上一个页面提交后的转向页面---ireport_html.jsp
  1. <%@ page language="java" pageEncoding="UTF-8"%>
  2. <%@ page import="net.sf.jasperreports.engine.JasperRunManager"%>
  3. <%@ page import="javax.naming.*"%>
  4. <%@ page import="java.sql.*"%>
  5. <%@ page import="java.util.*"%>
  6. <%@ page import="java.io.*"%>
  7. <%@ page import="com.microsoft.sqlserver.jdbc.SQLServerDriver"%>
  8. <%@ page import="net.sf.jasperreports.engine.JasperPrint"%>
  9. <%@ page import="net.sf.jasperreports.engine.JasperFillManager"%>
  10. <%@ page import="net.sf.jasperreports.engine.JREmptyDataSource"%>
  11. <%@ page import="net.sf.jasperreports.engine.export.JRXlsExporter"%>
  12. <%@ page import="net.sf.jasperreports.engine.JasperReport"%>
  13. <%@ page import="net.sf.jasperreports.engine.util.JRLoader"%>
  14. <%@ page import="net.sf.jasperreports.engine.export.JRHtmlExporter"%>
  15. <%@ page import="net.sf.jasperreports.engine.JRExporterParameter"%>
  16. <%@ page import="net.sf.jasperreports.engine.export.JRHtmlExporterParameter"%>
  17. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  18. <html:html lang="true">
  19. <head>
  20.     <html:base />
  21.     <title>getData.jsp</title>
  22.     <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  23.     <meta http-equiv="pragma" content="no-cache">
  24.     <meta http-equiv="cache-control" content="no-cache">
  25.     <meta http-equiv="expires" content="0">
  26.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  27.     <meta http-equiv="description" content="This is my page">
  28.     <!--
  29.     <link rel="stylesheet" type="text/css" href="styles.css">
  30.     -->
  31. </head>
  32. <body>
  33.     <%
  34.         String id = null;
  35.         Connection con = null;
  36.         String CLASSFORNAME = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  37.         String SERVANDDB = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
  38.         String USER = "sa";
  39.         String PWD = "123pk";
  40.         try {
  41.             Class.forName(CLASSFORNAME);
  42.             con = DriverManager.getConnection(SERVANDDB, USER, PWD);
  43.         } catch (Exception e) {
  44.             e.printStackTrace();
  45.         }
  46.         try {
  47.             File reportFile = new File(application
  48.                     .getRealPath("report/test.jasper"));    
  49.             JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());                        
  50.             Map parameters = new HashMap();
  51.             String userId = request.getParameter("userId");
  52.             parameters.put("id", userId);
  53.             JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, con);
  54.             JRHtmlExporter exporter = new JRHtmlExporter();
  55.             StringBuffer sbuffer = new StringBuffer();
  56.             
  57.             Map imagesMap = new HashMap();
  58.             session.setAttribute("IMAGES_MAP", imagesMap);
  59.             
  60.     
  61.             exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  62.             exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
  63.     
  64.             exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);
  65.             exporter.exportReport();
  66.             //out.flush();
  67.             con.close();
  68.         } catch (Exception ex) {
  69.             out.print("出现例外,信息是:" + ex.getMessage());
  70.             ex.printStackTrace();
  71.         }
  72.     %>
  73. </body>
  74. </html:html>
4.发布运行程序,在页面里面输入用户的id,然后报表程序就显示出来了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值