【问题标题】:Display Highcharts data from mysql database on jsp page在 jsp 页面上显示来自 mysql 数据库的 Highcharts 数据
【发布时间】:2012-06-11 09:53:22
【问题描述】:

我想使用 Highcharts(主/详细示例)在 .jsp 页面中显示数据。数据将从mysql数据库动态加载。有没有人有如何做到这一点的例子。任何从头开始的建议都会有所帮助,即使是最基本的,这意味着您可以建议任何数据以显示在最简单的 jsp 页面上。

感谢您的宝贵时间和帮助。 谢谢,

【问题讨论】:

  • Highcharts 网站 [highcharts.com/] 有样品。你看了吗?
  • 马特:谢谢。我确实配置了要加载的静态数据的 highcharts,我只需要一些关于 mysql 数据库的建议。
  • Sandeep:我确实静态实现了 highcharts,但我需要从 mysql db 获取数据。谢谢,

标签: javascript mysql jsp highcharts


【解决方案1】:

您可能已经找到了解决方案。如果不是,就是这样。

1) 您将需要在您的 JSP 中以 scriptlet 甚至更好的 servlet 形式的 JDBC 连接。我使用 SQLITE 是为了方便。

Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:/DBlocation/Dbname");
Statement stat = conn.createStatement();

2) 然后您希望通过 ResultSet 将结果解析为 ArrayList

ArrayList al = new ArrayList();

    // Query DB for dates
    ResultSet rs = stat.executeQuery("select distinct(date) from project_time;");
    while (rs.next()) 
      { 
         al.add(rs.getString("COLUMN_NAME"));
      } 
    rs.close();

3) 接下来,您要使用 RequestDispatcher 将此 ArrayList 传递回您的 JSP 页面

RequestDispatcher rd = null;

request.setAttribute("values",al);
rd = request.getRequestDispatcher("chart.jsp");
rd.forward(request,response);

4) 在您的 jsp 页面上,您希望获取从 servlet 传递的值,如下所示并将它们传递给迭代器

ArrayList valuelist=(ArrayList)request.getAttribute("values");
Iterator valueIterator = valuelist.iterator();

5) 接下来,您需要在 javascript 中循环遍历迭代器以生成图形值。

xAxis: {
                    categories: 
                        [<% while(valueIterator.hasNext()) { out.println("'"+ valueIterator.next() +"',");} %>],                    
                    tickmarkPlacement: 'on',
                    title: {
                        enabled: false
                    }
                },

就是这样。希望这足够清楚,如果不是轻弹我的消息,我会进一步帮助你。

【讨论】:

  • 使用您的 servlet 中的 FTL 和 Highcharts。
猜你喜欢
  • 2013-03-27
  • 1970-01-01
  • 2017-11-23
  • 2018-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多