如何使用setXMLData在jsp中渲染fusionchart图?

时间:2014-02-18 11:12:49

标签: html jsp fusioncharts

我目前正在使用一个小型内部应用程序上的FusionChartsFree,我有一个像这样的小html代码。

<html>
<head>
<title>My First chart using FusionCharts XT</title>
<script type="text/javascript" src="FusionCharts.js"></script>
</head>
<body>
    <div id="chartContainer">FusionCharts XT will load here!</div>
    <script type="text/javascript">         
      var myChart = new FusionCharts( "Line.swf", "myChartId", "400", "300");
      var strXML = "<chart caption='Critical' xAxisName='month' yAxisName='Count' yAxisMinValue ='40' showValues= '0'><set label = 'month1' value='55'/><set label = 'month2' value='55'/><set label = 'month3' value='55'/><set label = 'month4' value='55'/></chart>" ; 
      myChart.setXMLData(strXML);
       myChart.render("chartContainer");
   </script>
</body>
</html>

以上代码完美运行并呈现图形。现在,我正在尝试使用JSP执行相同的操作,如下所示:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Graphs</title>
<script type="text/javascript" src="FusionCharts.js"></script>
</head>
<body>
<%
String data="<chart caption='Minor' xAxisName='month' yAxisName='Count' yAxisMinValue ='66500' showValues= '0'>"+"\n"+"<set label = 'month1' value='66560'/>"+"\n"+"<set label = 'month2' value='66560'/>"+"\n"+"<set label = 'month3' value='66647'/>"+"\n"+"<set label = 'month4' value='66631'/>"+"\n"+"</chart>";
System.out.println(data);
%>  
<div id="chartContainer1" align="left" style="margin-top: 22px; padding-top: 310px;">blocker data</div>
            <script>
            var blocker = new FusionCharts("Line.swf", "myChartId1", "400", "300");
            var strXML1="<%=data%>";
            blocker.setXMLData(strXML1);
            blocker.render("chartContainer1");
            </script>

</body>
</html>

问题出现在我动态生成“数据”字符串时,我没有得到任何输出。请帮忙

1 个答案:

答案 0 :(得分:1)

问题是JSP页面的XML中的额外“\ n”。删除“\ n”并再次检查,它将正常工作。

使用XMLData()函数传递数据时,FusionCharts需要一个没有任何换行符的XML数据字符串(明确包含在XML中)。