2017-03-08 17 views
0

私はGoogleアノテーションチャートを使用していくつかのデータのグラフを作成しようとしています。私はハードの下としてのjavascriptの私のデータをコーディングするとき、私は、チャートが正しくjstlを使用してJavaサーブレットで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); 
    } 

今、私はJavaのオブジェクト「読書」からデータを反復処理するためにJSTLのforEachとdata.addrows部分を交換しようとしています取得しますreadingTime、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); 

、私は単に私のブラウザでデータ値を印刷するには、このループを使用し、それが働いていた - ので、ループは「読書」リストを反復してパラメータを読み取ることができるが、そうではありません値をハードコーディングするようなデータセットを作成することはできません。

私はこの作業をするために何をする必要がありますか?

答えて

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

ありがとうございます。最後の中括弧が角括弧であると仮定してコードを更新しましたが、問題は解決しません。 –

+0

生成されたjavascriptを表示することができます –

+0

どうすればよいですか? –

関連する問題