fusioncharts free传入xml字符串要注意的!!!

来源:互联网 发布:random java 编辑:程序博客网 时间:2024/05/29 08:01

fusioncharts free,这是一个漂亮好用的flash报表工具。

基本使用请参考薄荷的博客

在这里分享一下我使用的经验!!!

我是针对jsp 的开发,加载了com.infosoftglobal.fusioncharts包,使用了FusionChartsCreator类。

在这个类里有四个方法,我主要应用的方法是:

    public static String createChartHTML(String chartSWF, String strURL,String strXML, String chartId, int chartWidth, int chartHeight,boolean debugMode)

还有一个类似方法,只不过多了一个参数registerWithJS,这个好像是设置是否导入js文件的,我还没仔细研究,我设置为false。public static String createChart(String chartSWF, String strURL,String strXML, String chartId, int chartWidth, int chartHeight,boolean debugMode, boolean registerWithJS)

jsp页面参考 

......

<%@page import="com.infosoftglobal.fusioncharts.FusionChartsCreator"%>

<html>

<head>......</head>

<%
......
 String chartCode = "";
 String outxml = (String)request.getAttribute("outxml");
       
 if(outxml == null || outxml.equals("")) {
     chartCode=FusionChartsCreator.createChartHTML("../../../Charts/MSColumn3D.swf","../../../Data/MSColumn3D.xml" , "", "myNext", 800, 400, false);
 }else{
     chartCode=FusionChartsCreator.createChartHTML("../../../Charts/MSColumn3D.swf", "",outxml , "myNext", 800, 400, false);
 }

%>

<body>

......

<table>
      <%=chartCode%>
 </table>

</body>
</html>

 
 


在上面两个方法里都有strURL和strXML两个参数,其中strURL是要读取的xml文件的路径,strXML是要读取的xml字符串。

这两个参数不能同时有值,如果想从文件中读取xml数据,就要把strXML设置为"";如果要从字符串中读取xml数据,那就要把strURL设置为""。

xml文件数据并不好用,经常数据更新后不能立即在图表上体现,往往需要清除浏览器缓存后才能生效,所以推荐使用字符串传xml数据。

而传的字符串的格式一定要注意,该字符串与xml文件中的文本不完全相同。

xml文件 <?xml version="1.0" encoding="UTF-8"?>
<chart caption=''test'' xAxisName=''Month'' yAxisName=''Units'' showValues=''0'' decimals=''0'' formatNumberScale=''0''>
 <set label=''Jan'' value=''462'' />
 <set label=''Feb'' value=''857'' />
 <set label=''Mar'' value=''671'' />
 <set label=''Apr'' value=''494'' />
 <set label=''May'' value=''761'' />
 <set label=''Jun'' value=''960'' />
 <set label=''Jul'' value=''629'' />
 <set label=''Aug'' value=''622'' />
 <set label=''Sep'' value=''376'' />
 <set label=''Oct'' value=''494'' />
 <set label=''Nov'' value=''761'' />
 <set label=''Dec'' value=''960'' />
</chart>

 
 


 而相应的strXML = "<chart caption=''test'' xAxisName=''Month'' yAxisName=''Units'' showValues=''0'' decimals=''0'' formatNumberScale=''0''><set label=''Jan'' value=''462'' /><set label=''Feb'' value=''857'' /><set label=''Mar'' value=''671'' /><set label=''Apr'' value=''494'' /><set label=''May'' value=''761'' /><set label=''Jun'' value=''960'' /><set label=''Jul'' value=''629'' /><set label=''Aug'' value=''622'' /><set label=''Sep'' value=''376'' /><set label=''Oct'' value=''494'' /><set label=''Nov'' value=''761'' /><set label=''Dec'' value=''960'' /></chart>"。

我最初拼装xml数据时是用的jdom来做的,但是拼装出来的数据和这里所要求的数据总是有差别。

所以,我后来就直接用字符串来拼装数据了。

在拼装时要注意:

        开头的<?xml version="1.0" encoding="UTF-8"?>不要;

        整个字符串前后和中间都不能有换行符或空格;

        而且元素属性的值一定要用''''括起来,不要用""。

文章出处:http://www.diybl.com/course/3_program/java/javajs/200843/108171.html

原创粉丝点击