Javascript 从Google图表中的ArrayList动态填充数据
我是谷歌图表API的新手。我试图将servlet中的ArrayList放入Google图表中。但我不能这样做。我试图填充在会话中从servlet传递的ArrayList。我试图在JSP上访问它。我能够访问JSP Scriplet中的ArrayList。但当我尝试使用这些数据填充图表时,图表上什么也没有显示。我不能理解这个问题。代码如下:Javascript 从Google图表中的ArrayList动态填充数据,javascript,jsp,google-visualization,Javascript,Jsp,Google Visualization,我是谷歌图表API的新手。我试图将servlet中的ArrayList放入Google图表中。但我不能这样做。我试图填充在会话中从servlet传递的ArrayList。我试图在JSP上访问它。我能够访问JSP Scriplet中的ArrayList。但当我尝试使用这些数据填充图表时,图表上什么也没有显示。我不能理解这个问题。代码如下: <script type="text/javascript"> google.load("visualization", "1", {
<script type="text/javascript">
google.load("visualization", "1", {
packages : [ "corechart" ]
});
google.setOnLoadCallback(drawChart);
function drawChart() {
var bubbleData = new google.visualization.DataTable();
bubbleData.addColumn('string', 'Location');
bubbleData.addColumn('number', 'X');
bubbleData.addColumn('number', 'Y');
bubbleData.addColumn('number', 'Total Reviews');
<%
ArrayList<String> list = (ArrayList<String>)request.getSession().getAttribute("Results");
System.out.println("List of JSP: " + list);
if(list!=null){
for(int i=0;i<list.size();i++)
{
String[] data = list.get(i).split("=");
System.out.println("data[0]: " + data[0] + ", data[1]: " + data[1] + ", data[2]: " + data[2] + ", data[3]: " + data[3]);
%>
var a = <%= data[0] %>;
window.alert(a);
var b = <%= data[1] %>;
window.alert(b);
var c = <%= data[2] %>;
window.alert(c);
var d = <%= data[3] %>;
window.alert(d);
bubbleData.addRow([ a, parseInt(b), parseInt(c), parseInt(d)]);
<%}
}
%>
var options = {
colorAxis : {
colors : [ 'yellow', 'red' ]
}
};
var chart = new google.visualization.BubbleChart(document
.getElementById('bubble-chart'));
chart.draw(bubbleData, options);
}
</script>
加载(“可视化”,“1”{
软件包:[“corechart”]
});
setOnLoadCallback(drawChart);
函数绘图图(){
var bubbleData=new google.visualization.DataTable();
addColumn('string','Location');
addColumn('number','X');
addColumn('number','Y');
addColumn('number','Total Reviews');
尽量避免使用Scriplet,而使用JSTL或EL。如果对JSTL不感兴趣,请在Scriplet元素周围加上单引号或双引号后再试一次,例如var a='';
。对所有四个JavaScript变量都做同样的操作。非常感谢@Braj。这很有效!!听起来不错。不客气。