使用MYSQL和JSP填充Javascript数组
我尝试使用.jsp从MySQL数据库接收数据,将数据放入数组,然后将该数组发送到javascript,并使用该数组填充通过d3.js生成的图形。我已经做了一些关于如何做.jsp部分的研究,但它对我来说没有多大意义。我几乎没有发现从java到javascript的变化。这就是我目前拥有的:使用MYSQL和JSP填充Javascript数组,java,javascript,mysql,jsp,d3.js,Java,Javascript,Mysql,Jsp,D3.js,我尝试使用.jsp从MySQL数据库接收数据,将数据放入数组,然后将该数组发送到javascript,并使用该数组填充通过d3.js生成的图形。我已经做了一些关于如何做.jsp部分的研究,但它对我来说没有多大意义。我几乎没有发现从java到javascript的变化。这就是我目前拥有的: <%@ page language="java" import="java.sql.*"%> <html> <head> <title>
<%@ page language="java" import="java.sql.*"%>
<html>
<head>
<title>D3 Test</title>
<script type="text/javascript" src="d3/d3.v2.js"></script>
<style type="text/css">
</style>
</head>
<body>
<%
Connection con=null;
ResultSet rst=null;
Statement stmt=null;
try{
String url="jdbc:mysql://localhost:3306/usermaster? user=root&password=7rubA5Ra";
int i=1;
con=DriverManager.getConnection(url);
stmt=con.createStatement();
rst=stmt.executeQuery("select * from test ");
%>
<script type="text/javascript">
var dataset = [ 7, 12, 15, 21, 23, 27, 24, 20, 17, 15,
12, 14, 17, 22, 20, 19, 18, 20, 25, 27 ];
var w = 500;
var h = 100;
var barPadding = 1;
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
svg.selectAll("rect")
.data(dataset)
.enter()
.append("rect")
.attr("id", "rect1")
.attr("x", function(d, i) {
return i * (w / dataset.length);
})
.attr("y", function(d) {
return h - d*4;
})
.attr("width", w/ dataset.length - barPadding)
.attr("height", function(d) {
return d * 4;
})
.attr("fill", function(d) {
return "rgb(0, 0, " + (d * 10) + ")";
});
/*svg.selectAll("rect")
.data(dataset2)
.enter()
.append("rect")
.attr("id", "rect2")
.attr("x", function(d, i) {
return i * (w / dataset2.length);
})
.attr("y", function(d) {
return h - d*4;
})
.attr("width", w/ dataset2.length - barPadding)
.attr("height", function(d) {
return d * 4;
})
.attr("fill", function(d) {
return "rgb(0, 100, " + (d * 10) + ")";
});*/
svg.selectAll("text")
.data(dataset)
.enter()
.append("text")
.text(function(d) {
return d;
})
.attr("x", function(d, i) {
return i * (w / dataset.length) + 5;
})
.attr("y", function(d) {
return h - (d * 4) + 15;
})
.attr("font-family", "sans-serif")
.attr("font-size", "11px")
.attr("fill", "white");
</script>
</body>
我真的需要有人给我指出正确的方向。我希望将数据库中的信息放入变量数据集中
谢谢,
EmptyBox在要将其嵌入JavaScript的位置添加JSP标记
var dataset = [
<% while (rst!=null && rst.next()) { %>
<%=rst.getInt("<column name>")%>,
<% } %>
];
在您的情况下,最好的方法是使用JSON库 第一:在JSP页面中,通过ResultSet从数据库检索所有数据。 第二:将它们保存在JsonArray中,并将数组发送到另一个页面 最后:在JavaScript函数中接收JsonArray并使用元素填充
页面中的任意位置。是否在多个位置使用此密码?:@Andreas这是一个随机生成的密码,我用于开发/我不需要保存的东西。我需要导入一些东西来使用这些语句吗?对于这两条语句,类型ResultSet的“I get a”方法都未定义。抱歉,我只是对ResultSet代码使用了伪代码。正确的功能是:while rst!=null&&rst.next和rst.getIntOh,哈哈!谢谢我真的很挣扎。我现在应该可以让它工作了。再次感谢!