Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Google图表中的ArrayList动态填充数据_Javascript_Jsp_Google Visualization - Fatal编程技术网

Javascript 从Google图表中的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", {

我是谷歌图表API的新手。我试图将servlet中的ArrayList放入Google图表中。但我不能这样做。我试图填充在会话中从servlet传递的ArrayList。我试图在JSP上访问它。我能够访问JSP Scriplet中的ArrayList。但当我尝试使用这些数据填充图表时,图表上什么也没有显示。我不能理解这个问题。代码如下:

<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。这很有效!!听起来不错。不客气。