Как визуализировать граф Fusionchart в JSP, используя setXMLData?

В настоящее время я работаю над 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 ответ

Решение

Проблема заключается в дополнительном "\n" в вашей странице XML JSP. Удалите "\n" и проверьте снова, все будет работать нормально.

Когда вы передаете данные с помощью функции XMLData(), FusionCharts ожидает строку данных XML без каких-либо разрывов строк (которые явно включены в XML).

Другие вопросы по тегам