在jsp页面上显示来自mysql数据库的Highcharts数据

时间:2012-06-07 10:41:51

标签: javascript mysql jsp highcharts

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

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

1 个答案:

答案 0 :(得分:1)

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

1)您需要在JSP中以< %%>的形式建立JDBC连接。 scriptlet甚至更好的servlet。我使用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
                    }
                },

就是这样。希望这很清楚,如果没有给我发消息,我会帮你进一步。