当前位置: 代码迷 >> Web前端 >> FusionCharts 3.2 施用
  详细解决方案

FusionCharts 3.2 施用

热度:1163   发布时间:2012-06-26 10:04:13.0
FusionCharts 3.2 使用

FusionCharts 3.2 使用:

?

这几天项目事情不是很多,研究了下FusionCharts 3.2 。

以前用的是最老版的,不支持导出图片,不支持json数据

?

个人暂时发现新的版本几个好处:?1、支持导出图片 2、json数据格式的支持。

?

下面说下,新版本的用法吧,留个备份:

?

新版本在线预览地址:http://220.178.14.19:8081/fusioncharts

?

步骤一:

从官网下载js文件和swf,地址:http://www.fusioncharts.com/download/

存放到项目对应位置:

?

步骤二:

页面编写:

?

Html代码??
  1. <!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">??
  2. <html?xmlns="http://www.w3.org/1999/xhtml">??
  3. <head>??
  4. <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>??
  5. <title>fusionchartV3?测试</title>??
  6. </head>??
  7. <body>??
  8. <script?type="text/javascript"?src="${ctx}/scripts/fusioncharts/FusionCharts.js"></script>??
  9. <h3>fusionchartV3?测试</h3>??
  10. <p>&nbsp;</p>??
  11. <div?id="chartdiv"?align="center">?</div>??
  12. <script?type="text/javascript">??
  13. ????var?chart?=?new?FusionCharts("${ctx}/scripts/fusioncharts/swf/MSColumn3D.swf",?"ChartId",?"560",?"400",?"0",?"0");??
  14. ????chart.setDataUrlParams("id",?"61122");??
  15. ????chart.setDataURL("${ctx}/fusioncharts/Index.do?method=MSColumn3DSale");??
  16. ????chart.render("chartdiv");??
  17. </script>???
  18. <script?type="text/javascript"?src="${ctx}/commons/scripts/jquery.js"></script>???
  19. <script?type="text/javascript">//<![CDATA[??
  20. ?//]]></script>??
  21. </body>??
  22. </html>??

?

步骤三:

后台代码:【部分代码有省略】我这里是用freemarker模块生成xml,实现,部分代码截图:

?


注意:1、自己写了个方法【setDataUrlParams】,可以往里面传参数?

? 2、这个当调试的时候,发现每次都会调用2次ajax到后台取数据,研究FusionCharts.debug.js后发现,在1681行的问题,注释后ok!如图:


3、自己改写的js下面有下载

?

?

步骤四:

xml文件:我这里是部分写活的:这里已经配置了导出图片的参数: exportEnabled="1",具体的说明:

? ? ?http://www.fusioncharts.com/docs/??里面的 http://www.fusioncharts.com/docs/ECXML.html

推荐用:exportAtClient="0" 客户端导出这个模式,速度快, exportHandler="${((ctx)!' ')?html}/FCExporter.do",

exportHandler是后台导出的方法链接,我的实现

1、servlet里面配置 :

Xml代码??
  1. <servlet>??
Xml代码??
  1. <servlet-name>FCExporter</servlet-name>??
  2. ????????<servlet-class>com.fusioncharts.exporter.servlet.FCExporter</servlet-class>??
  3. ????</servlet>??
  4. ????<servlet-mapping>??
  5. ????????<servlet-name>FCExporter</servlet-name>??
  6. ????????<url-pattern>/FCExporter.do</url-pattern>??
  7. ????</servlet-mapping>??
?

2、引入fcexporter.jar和fcexporthandler.jar(下载包中有),在用的过程中发现自带的jar包虽然图片可以导出,但是部分代码

报错,所以我有重新改写了下代码,打成了一个jar包fusioncharts.jar,下面有下载

?

Xml代码??
  1. <?xml?version="1.0"?encoding="GBK"?>??
  2. <chart?exportFileName="${((exportFileName)!'?')?html}"?exportEnabled="1"?exportAction="download"?exportAtClient="0"?exportHandler="${((ctx)!'?')?html}/FCExporter.do"?caption="Country?Comparison"?showLabels="1"?showvalues="0"?decimals="0"?numberPrefix="$">??
  3. <categories>??
  4. ????<category?label="Austria"?/>??
  5. ????<category?label="Brazil"?/>??
  6. ????<category?label="France"?/>??
  7. ????<category?label="Germany"?/>??
  8. ????<category?label="USA"?/>??
  9. </categories>??
  10. <dataset?seriesName="1996"?color="AFD8F8"?showValues="0">??
  11. ????<set?value="${((id)!'?')?html}"?/>??
  12. ????<set?value="20148.82"?/>??
  13. ????<set?value="17372.76"?/>??
  14. ????<set?value="35407.15"?/>??
  15. ????<set?value="38105.68"?/>??
  16. </dataset>??
  17. <dataset?seriesName="1997"?color="F6BD0F"?showValues="0">??
  18. ????<set?value="57401.85"?/>??
  19. ????<set?value="41941.19"?/>??
  20. ????<set?value="45263.37"?/>??
  21. ????<set?value="117320.16"?/>??
  22. ????<set?value="114845.27"?/>??
  23. </dataset>??
  24. <dataset?seriesName="1998"?color="8BBA00"?showValues="0">??
  25. ????<set?value="45000.65"?/>??
  26. ????<set?value="44835.76"?/>??
  27. ????<set?value="18722.18"?/>??
  28. ????<set?value="77557.31"?/>??
  29. ????<set?value="92633.68"?/>??
  30. </dataset>??
  31. </chart>??
?

步骤五:

启动服务器,输入地址:如图


?

?

?

步骤六:

下载破解版的swf,这样生成的flash里面就没有了fusionChart的logo了

下载地址:http://download.csdn.net/detail/misswuyang/3600279