Servlets 使用jstl在Javaservlet中创建google.visualization.DataTable()
我正在尝试使用谷歌注释图表绘制一些数据。当我像下面那样用javascript硬编码我的数据时,我正确地得到了图表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
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!问题是