2017-03-08 75 views
0

我想使用Google Annotation圖表繪製一些數據。當我硬編碼我的JavaScript作爲數據下,我得到的圖表正確使用jstl在java servlet中創建google.visualization.DataTable()

function drawChart() { 
     var data = new google.visualization.DataTable(); 
      data.addColumn('date', 'Date'); 
      data.addColumn('number','Level'); 
      data.addColumn('string', 'Activity'); 

      data.addRows([ 
      [new Date(2017,1,14,0, 1), 88, undefined], 
      [new Date(2017,1,14,0, 16), 83, undefined], 
      [new Date(2017,1,14,0, 31), 78, undefined], 
      ... 
      [new Date(2017,1,14,23, 46), 74, undefined]    
      ]); 

var chart = new google.visualization.AnnotationChart(document.getElementById('chart_div')); 

    var options = { 
     displayAnnotations: true 
    }; 

    chart.draw(data, options); 
    } 

現在我試圖用一個JSTL的forEach通過將數據從一個Java對象進行迭代「讀經」,以取代data.addrows節其中有閱讀時間,readingLevel和readingAnnotation作爲參數 - 但我沒有得到我的圖表 - 只是得到一個空白頁。

function drawChart() { 
     var data = new google.visualization.DataTable(); 
     data.addColumn('date', 'Date'); 
     data.addColumn('number','Level'); 
     data.addColumn('string', 'Activity'); 

     <c:forEach items="${Readings}" var="entry"> 
     data.addRow(${entry.readingTime}, ${entry.readingValue}, ${entry.readingAnnotation}); 
     </c:forEach> 


     var chart = new google.visualization.AnnotationChart(document.getElementById('chart_div')); 

     var options = { 
     displayAnnotations: true 
     }; 

     chart.draw(data, options); 

在另一個servlet,我用這個循環簡單地在我的瀏覽器打印的數據值和工作 - 這樣的循環能夠通過「讀」列表進行迭代並讀取參數,但它不是創建像硬編碼值那樣的數據集。

關於我需要做什麼來完成這項工作的任何想法?

回答

0
function drawChart() { 
     var data = new google.visualization.DataTable(); 
     data.addColumn('date', 'Date'); 
     data.addColumn('number','Level'); 
     data.addColumn('string', 'Activity'); 
     var rows = [] 
     <c:forEach items="${Readings}" var="entry"> 
     rows.push([new Date(${entry.readingTime}), ${entry.readingValue}, ${entry.readingAnnotation}]); 
     </c:forEach> 
     data.addRow(rows); 

     var chart = new google.visualization.AnnotationChart(document.getElementById('chart_div')); 

     var options = { 
     displayAnnotations: true 
     }; 

     chart.draw(data, options); 
+0

謝謝Vikram。我更新了我的代碼(假設最後一個大括號是方括號)。但問題仍然存在。 –

+0

您能顯示生成的javascript嗎? –

+0

我該怎麼做? –