waysun一路陽(yáng)光

          不輕易服輸,不輕言放棄.--心是夢(mèng)的舞臺(tái),心有多大,舞臺(tái)有多大。踏踏實(shí)實(shí)做事,認(rèn)認(rèn)真真做人。

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
            167 隨筆 :: 1 文章 :: 64 評(píng)論 :: 0 Trackbacks

          注明:最近很多朋友跟我要源碼,其實(shí)很簡(jiǎn)單的東西,自己嘗試一下很快就解決了,目前我在外地出差,不能提供源代碼下載,我不再傳源碼,請(qǐng)見(jiàn)諒。
          在云南期間,收到幾個(gè)朋友的郵件,希望發(fā)工程代碼,因?yàn)槲以谠颇希瑳](méi)有帶本子,說(shuō)聲抱歉!

          因?yàn)轫?xiàng)目需要,前幾天完成了fusioncharts的基本使用,但是還不能滿(mǎn)足項(xiàng)目需求。
          項(xiàng)目中需要實(shí)現(xiàn)按照客戶(hù)的需求導(dǎo)出指定格式的文件,而且可以圖表混編等,這就需要自己去擴(kuò)展fusioncharts本身的導(dǎo)出。
          下面簡(jiǎn)單介紹如何在服務(wù)器端使用JSP導(dǎo)出各種文件格式,并能自由擴(kuò)展。因?yàn)闀r(shí)間比較緊,寫(xiě)的很凌亂,希望大家理解。

          在J2EE框架下用JSP導(dǎo)出文件
          1.將 exportAtClient導(dǎo)出屬性設(shè)置為0(服務(wù)器導(dǎo)出),exportHandler設(shè)置為'exp.jsp'。
          可以在chart.exportChart({exportFormat:'pdf',exportHandler:'exp.jsp',exportFileName:'test',exportParameters:'test'});設(shè)置,也可以在XML里設(shè)置。(注意在JS里設(shè)置會(huì)重寫(xiě)XML里面的導(dǎo)出屬性設(shè)置)
          2.exp.jsp為處理數(shù)據(jù)的文件,可實(shí)現(xiàn)各種文件格式的導(dǎo)出。


          <%@ page language="java" import="com.hjtp.incas.chart.*" pageEncoding="utf-8"%>
          <%@ page import="com.hjtp.incas.chart.helper.*"%>
          <%@ page import="com.hjtp.incas.chart.exporthelper.*"%>
          <%
          String path = request.getContextPath();
          String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
          %>

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
            <head>   
              <title>導(dǎo)出圖片</title>
             
           <meta http-equiv="pragma" content="no-cache">
           <meta http-equiv="cache-control" content="no-cache">
           <meta http-equiv="expires" content="0">   
           <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
           <meta http-equiv="description" content="This is my page">
            </head>
            <body>
          <%
           try
           {
                     ExportHelperBean exportHelperBean=FusionChartsExportHelper.parseExportRequestStream(request);
                     ExportFactory exportFactory=ExportFactory.getInstance();
                     String type=(String)exportHelperBean.getExportParameterValue("exportformat");
                     String fileName = (String)exportHelperBean.getExportParameterValue("exportfilename");
                     ExportFormat exportFormat=new ExportFormat(type);
                     String contentType=exportFormat.getContentType();
                     String fix=exportFormat.getPostfix();
                     response.reset(); 
                     response.setContentType(contentType);
                     response.addHeader("Content-Disposition","attachment; filename=\""+fileName+"."+fix+"\"");
                     java.io.OutputStream os=response.getOutputStream();
                     IFusionCharts iFusionCharts=exportFactory.getFusionCharts(type);
                     iFusionCharts.export(exportHelperBean,os);
                     os.flush();
                     os.close();   
              
                     out.clear();
                     out=pageContext.pushBody();   
           }
           catch (Exception e)
           {
               e.printStackTrace();
           }
           %>
            </body>
          </html>
          3.如何擴(kuò)展導(dǎo)出的文件格式為項(xiàng)目所需。
          1.自定義導(dǎo)出
          將服務(wù)器端導(dǎo)出參數(shù)設(shè)為exportHandler:'exp.jsp',即為使用我們自己
          寫(xiě)的導(dǎo)出方式導(dǎo)出。
          2.如何擴(kuò)展自定義導(dǎo)出
          (1)在exp.jsp中,可以看到如下兩行代碼
          IFusionCharts iFusionCharts=exportFactory.getFusionCharts(type);
          iFusionCharts.export(exportHelperBean,os);
          其中exportFactory為一個(gè)工廠類(lèi),起分發(fā)器的作用,通過(guò)此類(lèi)可以根據(jù)
          擴(kuò)展實(shí)際需求進(jìn)行自定義擴(kuò)展。
          (2)自定義擴(kuò)展實(shí)現(xiàn) ,例如像實(shí)現(xiàn)對(duì)txt文件格式支持的導(dǎo)出,需要在新增加
          一個(gè)類(lèi)實(shí)現(xiàn)IFusionCharts 接口的export方法即可,同時(shí)在exportFactory
          工廠類(lèi)里添加對(duì)此支持的判斷分發(fā)實(shí)現(xiàn)即可。



          MyEcliplse下工程下載

          posted on 2010-03-03 17:30 weesun一米陽(yáng)光 閱讀(3469) 評(píng)論(16)  編輯  收藏 所屬分類(lèi): 經(jīng)典實(shí)例

          評(píng)論

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2010-03-22 15:20 yaozi
          能不能寫(xiě)的更詳細(xì)點(diǎn)?  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2010-03-22 15:58 weesun一米陽(yáng)光
          @yaozi
          呵呵,因?yàn)闆](méi)有時(shí)間,只是隨便寫(xiě)的,工程里源碼和demo,一看應(yīng)該就明白了  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2010-03-30 18:11 blameswood
          樓主,工程好象下不了,能否給我發(fā)份,謝謝!
          blameswood@hotmail.com  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2010-03-31 09:14 waysun
          @blameswood
          我的網(wǎng)絡(luò)硬盤(pán)的下載次數(shù)超了,所以現(xiàn)在下不了。  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2010-04-06 14:08 yaozi
          @weesun一米陽(yáng)光
          我主要是對(duì)打印圖片這塊不是很熟悉!想問(wèn)下大俠!
            回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】[未登錄](méi) 2010-04-15 11:01 Jackey
          下載不了啊 能不能把工程發(fā)給我啊 jackey_01511@hotmail.com 非常感謝!  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2010-04-22 21:09 求助
          能可以發(fā)下你那工程么?萬(wàn)分感謝!我的郵箱:403652287@qq.com  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2010-05-27 13:42 段譽(yù)
          想要工程文件,謝謝~ duanwq0007@163.com  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2010-10-11 13:30 顧勇
          請(qǐng)問(wèn)一下用,我用FusionCharts在jsp中為什么只能引入一個(gè)圖形報(bào)表,我想要實(shí)現(xiàn)多圖形的效果,html文件格式的是可以,jsp不知道為什么總是只能出來(lái)一個(gè)?  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2010-10-11 13:32 顧勇
          另外,您的工程能否給我發(fā)一份,萬(wàn)分感謝~~
          guyong1018@gmail.com  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2010-10-12 09:54 waysun
          @顧勇
          我目前在外地出差,自己的本子沒(méi)有帶,不能提供源代碼,請(qǐng)見(jiàn)諒,另外,我已經(jīng)明確注明了,希望您能看的明白!^_^
            回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2010-10-14 16:55 顧勇
          請(qǐng)問(wèn)一下用,我用FusionCharts在jsp中為什么只能引入一個(gè)圖形報(bào)表,我想要實(shí)現(xiàn)多圖形的效果,html文件格式的是可以,jsp不知道為什么總是只能出來(lái)一個(gè)?  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2011-07-15 13:48
          能否給我發(fā)一份案例 dong_junnan@163.com  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2011-08-02 10:59 示范點(diǎn)
          請(qǐng)問(wèn)怎樣在js中執(zhí)行導(dǎo)出事件?
          black88cn@163.com  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2011-09-07 20:47 lhj
          研究下  回復(fù)  更多評(píng)論
            

          # re: FusionCharts在用JSP自定義導(dǎo)出pdf,doc,xsl格式的圖表混編文件【原創(chuàng)】 2011-12-14 09:44 zgl
          跪求工程Demo啊,大俠!!zgl217@163.com  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 亚东县| 江阴市| 常州市| 富阳市| 崇左市| 科尔| 扶风县| 绥江县| 沈丘县| 鄄城县| 太康县| 青浦区| 宁蒗| 天全县| 嘉鱼县| 金秀| 平和县| 固镇县| 阿克陶县| 察隅县| 北安市| 正安县| 红桥区| 南丰县| 汶川县| 阿图什市| 依兰县| 大邑县| 治多县| 精河县| 山丹县| 历史| 肥乡县| 克山县| 尚志市| 沁源县| 尖扎县| 色达县| 泰和县| 固安县| 边坝县|