2012-06-07 158 views
1

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

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

+2

欢迎来到Stack Overflow! [Stack Overflow不是您的个人研究助理。](http://meta.stackexchange.com/a/128553/133242) –

+2

Highcharts网站[http://www.highcharts.com/]有样品。你看了一下吗? –

+1

马特:谢谢。我没有配置加载静态数据的highcharts,我只需要关于mysql数据库的一些建议。 – Gipa

回答

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回到你的JSP页面中一个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

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 
        } 
       }, 

这就是它。希望这很清楚,如果不是轻弹我的信息,我会进一步帮助你。

+0

从您的servlet使用FTL和Highcharts。 – Makky

相关问题