我想使用Highcharts(主/详细示例)在.jsp页面中显示数据。数据将从mysql数据库动态加载。有没有人有关于如何做到这一点的例子。任何建议,从头开始都会有所帮助,甚至是最基本的,这意味着你可以建议在最简单的jsp页面上显示任何数据。
感谢您的时间和帮助。 谢谢,
答案 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
}
},
就是这样。希望这很清楚,如果没有给我发消息,我会帮你进一步。