您可能已经找到了解决方案。如果不是,就是这样。
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
}
},
就是这样。希望这足够清楚,如果不是轻弹我的消息,我会进一步帮助你。