Servlets 使用jstl在Javaservlet中创建google.visualization.DataTable()

Servlets 使用jstl在Javaservlet中创建google.visualization.DataTable(),servlets,jstl,Servlets,Jstl,我正在尝试使用谷歌注释图表绘制一些数据。当我像下面那样用javascript硬编码我的数据时,我正确地得到了图表 function drawChart() { var data = new google.visualization.DataTable(); data.addColumn('date', 'Date'); data.addColumn('number','Level'); data.addColumn('s

我正在尝试使用谷歌注释图表绘制一些数据。当我像下面那样用javascript硬编码我的数据时,我正确地得到了图表

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替换data.addrows部分,以迭代来自java对象“Readings”的数据,该对象将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);
函数绘图图(){
var data=new google.visualization.DataTable();
data.addColumn('date','date');
data.addColumn('number','Level');
data.addColumn('string','Activity');
data.addRow(${entry.readingTime},${entry.readingValue},${entry.readingAnnotation});
var chart=new google.visualization.AnnotationChart(document.getElementById('chart_div'));
变量选项={
displayAnnotations:true
};
图表绘制(数据、选项);
在另一个servlet中,我使用这个循环在我的浏览器中简单地打印数据值,这是有效的-因此循环能够遍历“读数”列表并读取参数,但它不像硬编码值那样创建数据集

关于我需要做什么才能使这项工作顺利进行,有什么想法吗?

函数绘图图(){
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);
var data=new google.visualization.DataTable(); data.addColumn('date','date'); data.addColumn('number','Level'); data.addColumn('string','Activity'); 变量行=[] rows.push([newdate(${entry.readingTime}),${entry.readingValue},${entry.readingAnnotation}]); data.addRow(行); var chart=new google.visualization.AnnotationChart(document.getElementById('chart_div')); 变量选项={ displayAnnotations:true }; 图表绘制(数据、选项);
谢谢Vikram。我更新了我的代码(假设最后一个花括号是方括号),但问题仍然存在。我该怎么做?没关系-我能够看到Generate javascript和调试。问题是字符串字段在读取到行时没有放在引号中。谢谢你的帮助Vikram!问题是