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

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

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

    靈魂-放水

    為學(xué)日益,為道日損。

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks

    1 、概述

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

    2 、數(shù)據(jù)連接建立

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

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

    每個(gè)Web應(yīng)用都會(huì)有WEB-INF目錄,但是lib是不一定有的,如果沒有就創(chuàng)建它,本文需要的jar庫(kù)文件有3個(gè):

    jasperreports-0.5.3.jar :jasperreports執(zhí)行時(shí)需要的API

    iTextAsian.jar :亞洲字符集支持

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

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

    4 、創(chuàng)建 repotrs 目錄并導(dǎo)入 .jasper 文件

    Web應(yīng)用中根目錄下創(chuàng)建repotrs目錄,其實(shí)這是一種建議,沒有必要完全按照這樣做,你可以根據(jù)你的業(yè)務(wù)需要?jiǎng)?chuàng)建N個(gè)目錄或是層次目錄。

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

    5 、例子程序

    Test.jsp文件的內(nèi)容:

    <%@ 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"));

    ???? ?? //配置參數(shù),可以參考《第二部分:使用Jasperreport作為報(bào)表控件開發(fā)胖客戶端報(bào)表應(yīng)用》

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

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

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

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

    Map parameters = new HashMap();

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

    ??????? // JasperRunManager是一個(gè)輸出控制管理類,下文會(huì)提及部分內(nèi)容

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

    ?????? //如果創(chuàng)建報(bào)表成功,則轉(zhuǎn)向該報(bào)表,其實(shí)可以把報(bào)表套在框架內(nèi),這樣實(shí)現(xiàn)比較有意義的報(bào)表格式。

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

    ?? }catch(Exception ex){

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

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

    ?? }

    %>

    </head>

    <body>

    </body>

    </html>

    6 、關(guān)于 JasperRunManager

    JasperRunManager有很多的靜態(tài)方法,控制輸出的格式,比如輸出格式是pdf或是html等,建議瀏覽JasperRunManager的一些方法,這樣對(duì)開發(fā)報(bào)表輸出有幫助。

    7 、輸出內(nèi)容

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

    posted on 2006-12-17 10:23 放水老倌 閱讀(511) 評(píng)論(0)  編輯  收藏 所屬分類: 打印報(bào)表
    主站蜘蛛池模板: 久久精品国产亚洲AV电影 | 亚洲免费视频播放| 无遮挡国产高潮视频免费观看| 337p日本欧洲亚洲大胆艺术| 久久亚洲国产精品123区| 午夜色a大片在线观看免费| 91精品国产免费网站| 91视频免费观看| 特级毛片aaaa免费观看| 亚洲妇女无套内射精| 亚洲国产综合人成综合网站00| 亚洲日本精品一区二区 | 免费无码成人AV在线播放不卡| 免费的黄网站男人的天堂| 亚洲国产精品嫩草影院| 亚洲a级在线观看| 91亚洲导航深夜福利| 午夜亚洲www湿好大| 亚洲精品成人网站在线观看| 久久亚洲色一区二区三区| 亚洲精品视频在线看| 国产成人精品免费直播| 成人免费a级毛片无码网站入口| 色影音免费色资源| 18禁美女裸体免费网站| 67194国产精品免费观看| 无码人妻AV免费一区二区三区 | 亚洲av无码专区国产乱码在线观看| 亚洲精品国精品久久99热| 免费欧洲美女牲交视频| 日韩免费电影在线观看| 免费无码黄动漫在线观看| 韩国二级毛片免费播放| 国产精品久免费的黄网站| 国产精品视_精品国产免费| 国产无遮挡吃胸膜奶免费看视频| 日韩毛片无码永久免费看| 国产免费拔擦拔擦8x| 亚洲&#228;v永久无码精品天堂久久| 免费看国产一级特黄aa大片| 亚洲中文字幕视频国产|