javascript - 将数据传递给 Google Chart API

标签 javascript html servlets google-visualization

首先,实际上来自 Google 的 Google Chart API 示例(它是 javascript)

<script type="text/javascript">
      // There is of coz some thing else but i just ignore them, just focus on the data here
      function drawChart() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Year');
        data.addColumn('number', 'Sales');
        data.addColumn('number', 'Expenses');
        data.addRows([
          ['2004', 1000, 400],
          ['2005', 1170, 460],
          ['2006', 660, 1120],
          ['2007', 1030, 540]
        ]);
    </script>

现在我修改成这个

<script type="text/javascript">
      function drawChart(reading) {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Year');
        data.addColumn('number', 'Sales');
        data.addColumn('number', 'Expenses');
        data.addRows([reading]);
    </script>

(我在servlet中实现) 现在,我希望传递我自己的数据(从数据库读取后)并将其转换为字符串。通过调用 drawChart(reading) 将其传递给修改后的 javascript

//After some action retrieving data from db and make it to a data string like this
        String reading = "['2011',1000,400],['2009',800,200]";
        out.println("<body onload=\"drawChart("+reading");\">");
            //drawing is here
            out.println("</body>");

但是,JS好像不能接受这样的字符串变量,我应该把变量传给JS什么样的格式呢?或者我不应该使用 String reading 而是其他的?但是Java中没有这种变量类型..

最佳答案

只需让 Java 打印完全与您用普通 JavaScript 编写的数据相同的数据。您根本不需要转换数据。 Java 不执行 JavaScript。 Java 只是生成 JavaScript 代码,这些代码稍后在到达网络浏览器时执行。

String reading = "[['2004', 1000, 400],['2005', 1170, 460],['2006', 660, 1120],['2007', 1030, 540]]";

关于javascript - 将数据传递给 Google Chart API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9616267/

相关文章:

html - 两个 td 或 tr 标签之间的空格

css - Div 在 Firefox 中渲染不正确

javascript - 如何使用 TypeScript 根据另一个属性将 React 组件的两个属性设置为可选?

javascript - 确保生成 map 对象时的不变性

javascript - 如何根据可用的 div 区域大小剪切长文本?

javascript - Angular Controller 未使用 OcLazyLoad 和 ngRoute 加载

html - 如何在 Safari 中修复 "invalid CSS property declaration"?

java - 将数组列表从 servlet 发送到 jsp 时显示错误

java - 使用 javax.servlet.RequestDispatcher.include() 时如何将参数传递给 .jsp 文件?

java - Tomcat 上的简单 Java Web 应用程序