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

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

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

    隨筆-0  評(píng)論-3  文章-28  trackbacks-0

    我使用的開(kāi)發(fā)IDE是eclipse3.2,服務(wù)器是tomcat5.5

    新建一個(gè) Crystal reports web項(xiàng)目

    在Target runtime選擇apache tomcat v5.5

    下一步中crystal reports java reporting component、dynamic web module、java是默認(rèn)選中的,這三個(gè)是必需的,你也可添加struts,后面的設(shè)置會(huì)要求你添加struts的類庫(kù)。在最后面默認(rèn)加入示例的數(shù)據(jù)庫(kù)和報(bào)表。

    這樣一個(gè)Crystal Reports web項(xiàng)目就建立了(上面的步驟應(yīng)該是地球人都可以完成吧)

    在里面有個(gè)CrystalReport1.rpt和CrystalReport_viewer.jsp

    右鍵CrystalReport_viewer.jsp->運(yùn)行方式->Run on Server,點(diǎn)擊完成。

    你應(yīng)該就可以看到一個(gè)空的水晶報(bào)表了吧(為什么空的,當(dāng)然啦,CrystalReport1.rpt本身是空的)

    在看看sample reports文件夾里面,有4個(gè)示例的.rpt報(bào)表文件,右擊其中任何一個(gè),選中Crystal Reports-》創(chuàng)建查看器JSP,就會(huì)創(chuàng)建一個(gè)*-viewer.jsp文件。運(yùn)行這個(gè)文件,你應(yīng)該可以看到一個(gè)水晶報(bào)表了吧。

    我想這對(duì)大部分人應(yīng)該都是沒(méi)有問(wèn)題的,剩下的事情就是好好分析這個(gè)項(xiàng)目里面所有的東東了

    -------------------------------------------------------------------------------------------------------------------------------------------------------

    上面什么東西是在任何項(xiàng)目中實(shí)現(xiàn)都必須的呢?為此我特意建立一個(gè)新的tomcat項(xiàng)目,最好建一個(gè)簡(jiǎn)單的jsp頁(yè)面測(cè)試下你的tomcat項(xiàng)目是否可以正常運(yùn)行.

    通過(guò)本人的實(shí)驗(yàn),在其他項(xiàng)目中JSP運(yùn)行水晶報(bào)表的話,需要的類文件跟配置.

    1. 添加一個(gè)用戶庫(kù)如 CrystalReports Libraries,把下面的*.jar添加進(jìn)去

    commons-collections-3.1.jar,commons-configuration-1.2.jar,
    commons-lang-2.1.jar,
    commons-logging.jar,
    Concurrent.jar,
    CrystalCharting.jar
    CrystalCommon.jar
    CrystalContentModels.jar
    CrystalDatabaseConnectors.jar
    CrystalExporters.jar
    CrystalExportingBase.jar
    CrystalFormulas.jar
    CrystalQueryEngine.jar
    CrystalReportEngine.jar
    CrystalReportingCommon.jar
    derby.jar
    icu4j.jar
    jrcadapter.jar
    jrcerom.jar
    keycodeDecoder.jar
    log4j.jar
    MetafileRenderer.jar
    msbase.jar
    mssqlserver.jar
    msutil.jar
    rasapp.jar
    rascore.jar
    ReportPrinter.jar
    rpoifs.jar
    serialization.jar
    URIUtil.jar
    webreporting.jar
    webreporting-jsf.jar
    xercesImpl.jar
    xml-apis.jar
    Xtreme.jar

    (總共36個(gè)jar,里面有一些在其他的庫(kù)已經(jīng)有的了,在項(xiàng)目中添加這個(gè)自定義庫(kù)就行了)

     

    2. 把上個(gè)例子中的crystalreportviewers文件夾放在WEB-INF文件夾同一目錄下。這個(gè)就是你能看到水晶報(bào)表的基本框架,相當(dāng)于.net里面的水晶報(bào)表控件了的源代碼了。

    3. 把crystal-tags-reportviewer.tld放在WEB-INF下,主要標(biāo)簽

     

    4. web.xml 在<web-app>中間添加,主要是讀入crystalreportviewers

        <context-param>
        
    <param-name>crystal_image_uri</param-name>
        
    <param-value>crystalreportviewers</param-value>
        
    </context-param>
        
    <context-param>
            
    <param-name>crystal_image_use_relative</param-name>
            
    <param-value>webapp</param-value>
        
    </context-param>

     

    5. 把CRConfig.xml放在src文件夾下,水晶報(bào)表的配置文件,如果你有注冊(cè),注冊(cè)碼也會(huì)在這文件里面

    CRConfig.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <CrystalReportEngine-configuration>
        
    <reportlocation>../..</reportlocation>
        
    <timeout>0</timeout>
        
    <ExternalFunctionLibraryClassNames>
         
    <classname/>
        
    </ExternalFunctionLibraryClassNames>
    </CrystalReportEngine-configuration>
    配置超時(shí)間隔

    利用 CRConfig.xml 文件,您可以配置確定何時(shí)丟棄不活動(dòng)報(bào)表源的超時(shí)間隔(以分鐘為單位)。這是必要的,因?yàn)椴换顒?dòng)報(bào)表源仍然會(huì)消耗系統(tǒng)資源(如數(shù)據(jù)庫(kù)連接、服務(wù)器內(nèi)存以及臨時(shí)文件使用的磁盤空間)。可以通過(guò)在 CRConfig.xml 文件中設(shè)置 timeout 標(biāo)記的值來(lái)指定超時(shí)間隔。默認(rèn)情況下,超時(shí)間隔為 10 分鐘。通過(guò)將該值設(shè)置為 0,可以將 Java Reporting Component 配置為沒(méi)有超時(shí)。

    超時(shí)間隔僅適用于不活動(dòng)報(bào)表 -- 正在處理的報(bào)表不會(huì)因超出此值而超時(shí)。每次成功完成一個(gè)報(bào)表源請(qǐng)求時(shí),超時(shí)定時(shí)器將會(huì)重置。如果在超時(shí)間隔內(nèi)沒(méi)有使用某個(gè)報(bào)表源,則會(huì)丟棄該報(bào)表源,并將其資源提供給其他進(jìn)程使用。

    6.   在jsp頁(yè)面插入這段代碼

    <%@ taglib uri="/crystal-tags-reportviewer.tld" prefix="crviewer" %>
    <crviewer:viewer reportSourceType="reportingComponent" viewerName="rcname-viewer" reportSourceVar="rcname" isOwnPage="true">
    <crviewer:report reportName="rcname.rpt" />
    </crviewer:viewer>

    感覺(jué)像在用.net里面的水晶報(bào)表控件一樣,不只viewer,連partviewer也可以的.

    posted on 2008-03-28 16:46 閱讀(907) 評(píng)論(0)  編輯  收藏 所屬分類: java基礎(chǔ)
    主站蜘蛛池模板: 亚洲色中文字幕无码AV| 亚洲偷偷自拍高清| 日韩在线一区二区三区免费视频 | 美女扒开尿口给男人爽免费视频| 最近中文字幕无免费视频| 亚洲另类春色校园小说| 成人免费AA片在线观看| 免费在线视频一区| 黄网站色视频免费看无下截| 免费不卡中文字幕在线| 久久WWW免费人成—看片| 免费无码A片一区二三区| 在线亚洲高清揄拍自拍一品区| 我要看WWW免费看插插视频| 亚洲成aⅴ人片久青草影院按摩| 国产成人一区二区三区免费视频| 色视频在线观看免费| 中文字幕亚洲一区二区va在线| 成人无码区免费A∨直播| 亚洲av综合av一区| 中文字幕乱码免费视频| 亚洲第一成年网站视频| 亚洲伊人成无码综合网 | 亚洲A∨精品一区二区三区下载| 国产成人无码a区在线观看视频免费| 老牛精品亚洲成av人片| 国产AV无码专区亚洲AV漫画| 国产成人免费ā片在线观看老同学 | 免费黄网站在线看| 亚洲国产精品国产自在在线 | 中文字幕在线免费观看| 亚洲夂夂婷婷色拍WW47| 亚洲精品无码久久不卡| 久久99精品国产免费观看| 在线观看亚洲AV日韩A∨| 亚洲一区二区三区在线播放 | 中美日韩在线网免费毛片视频| 无码欧精品亚洲日韩一区| 在线观看免费成人| 亚洲国产成人精品久久 | 看全色黄大色大片免费久久|