<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    靈魂-放水

    為學日益,為道日損。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks

    1 、概述

    如何實現 Web報表有很多的選擇,自定義CSS+HTML或是XSLT+XML或是其他控件,特別是支持圖表的控件,比如:jfreechart。本文作為Web報表的一種實現方式,建議你使用Jasperreport作為報表控件,第一、二部分已經對制作報表和開發胖客戶端報表應用做了介紹,其實有很多的文章可以參考實現第三部分的內容,不止是我寫的這篇文章。

    2 、數據連接建立

    參考 http://blog.csdn.net/jemlee2002/archive/2004/09/28/JJEM.aspx 這里有詳細的介紹數據庫的連接過程。

    3 、拷貝必要的 jar 文件到 Web 應用的 WEB-INF\lib 目錄

    每個Web應用都會有WEB-INF目錄,但是lib是不一定有的,如果沒有就創建它,本文需要的jar庫文件有3個:

    jasperreports-0.5.3.jar :jasperreports執行時需要的API

    iTextAsian.jar :亞洲字符集支持

    itext-1.02b.jar :其他字符集支持

    如果你的報表全英文或是不需要支持亞洲字符集,那么iTextAsian.jar、可以不要。

    4 、創建 repotrs 目錄并導入 .jasper 文件

    Web應用中根目錄下創建repotrs目錄,其實這是一種建議,沒有必要完全按照這樣做,你可以根據你的業務需要創建N個目錄或是層次目錄。

    .jasper文件拷貝到repotrs目錄下,比如例子中的BusinessRpt.jasper文件。

    5 、例子程序

    Test.jsp文件的內容:

    <%@ page session="false" %>

    <%@ page import="dori.jasper.engine.*" %>

    <%@ page import="javax.naming.*"%>

    <%@ page import="java.sql.*"%>

    <%@ page import="javax.sql.*"%>

    <%@ page import="java.util.*" %>

    <%@ page import="java.io.*" %>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">

    <title></title>

    <%??

    ?? DataSource ds = null;

    ?? try{

    ???? ?? InitialContext ctx=new InitialContext();

    ???? ?? ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");

    ???? ?? Connection conn = ds.getConnection();

    ???? ?? //裝載jasper文件

    ???? ?? File business_rpt = new File(application.getRealPath("/reports/BusinessRpt.jasper"));

    ???? ?? //配置參數,可以參考《第二部分:使用Jasperreport作為報表控件開發胖客戶端報表應用》

    ????? ? ?// http://blog.csdn.net/jemlee2002/archive/2004/10/08/JJem3.aspx

    ???? ?? //ProjectName就是iReport的變量$P{ProjectName}的名稱,

    ???? ?? //參考第一部分的5.6添加參數和使用參數

    ???? ?? //proname就是從界面上獲取的值。

    Map parameters = new HashMap();

    ???? ?? parameters.put("ProjectName ", proname);

    ??????? // JasperRunManager是一個輸出控制管理類,下文會提及部分內容

    ???? ?? JasperRunManager.runReportToHtmlFile(business_rpt.getPath(),parameters,conn);

    ?????? //如果創建報表成功,則轉向該報表,其實可以把報表套在框架內,這樣實現比較有意義的報表格式。

    ???? ?? response.sendRedirect("/reports/BusinessRpt.html");

    ?? }catch(Exception ex){

    ?????? out.print("出現例外,信息是:"+ex.getMessage());

    ?????? ex.printStackTrace();

    ?? }

    %>

    </head>

    <body>

    </body>

    </html>

    6 、關于 JasperRunManager

    JasperRunManager有很多的靜態方法,控制輸出的格式,比如輸出格式是pdf或是html等,建議瀏覽JasperRunManager的一些方法,這樣對開發報表輸出有幫助。

    7 、輸出內容

    例子中輸出格式是以HTML文件格式,所以web服務器可以直接解釋并顯示,效果不錯。

    posted on 2006-12-17 10:23 放水老倌 閱讀(512) 評論(0)  編輯  收藏 所屬分類: 打印報表
    主站蜘蛛池模板: 免费大香伊蕉在人线国产| 国产在线观a免费观看| 亚洲精品乱码久久久久久蜜桃不卡| 亚洲mv国产精品mv日本mv| 国产成人精品免费视频网页大全| 啦啦啦完整版免费视频在线观看| 亚洲日产韩国一二三四区| 成年网站免费视频A在线双飞| 亚洲午夜福利在线视频| ww在线观视频免费观看| 亚洲国产高清美女在线观看| 亚洲色欲啪啪久久WWW综合网| 欧美好看的免费电影在线观看 | 永久免费av无码网站yy| 亚洲免费观看视频| 免费精品无码AV片在线观看| 亚洲韩国精品无码一区二区三区| 国产一级片免费看| 亚洲国产亚洲综合在线尤物| 国产免费内射又粗又爽密桃视频| 亚洲国产一二三精品无码| 性无码免费一区二区三区在线 | 曰批全过程免费视频在线观看| 亚洲视频无码高清在线| 国产无遮挡色视频免费视频| 亚洲国产成人久久综合一 | 国产福利在线免费| 亚洲a∨无码一区二区| 亚洲а∨天堂久久精品| 久章草在线精品视频免费观看| 亚洲免费福利视频| 免费在线观看黄网| 无码国产精品一区二区免费式芒果 | 亚洲综合区图片小说区| 一本久久A久久免费精品不卡| 亚洲日韩中文字幕在线播放| 国产大片免费网站不卡美女| 亚洲国产精品不卡在线电影| 国产国产人免费视频成69堂| 欧洲美女大片免费播放器视频| 久久久久亚洲精品无码蜜桃 |