数据查询语言如下:try
{ //type1 javac
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{out.println("JDBC driver not installed!<BR>");
}
try
{
con=DriverManager.getConnection("jdbc:odbc:gpssource","sa","wayne923");
sql=con.createStatement();
rs=sql.executeQuery("select *from gpsdata where CarID='湘F8762D' and LocationDate between '2012-02-28 20:55:00' and '2012-03-02 09:55:00'");
int i=0;
int j=0;
while(rs.next())
{ //out.print(rs.getFloat("LocationX")+" "+rs.getFloat("LocationY"));
x1[i++]=rs.getFloat("LocationX");
y1[j++]=rs.getFloat("LocationY");
//out.println("<BR>");
}
con.close();
}
catch(SQLException e1)
{ out.println("SQL connection error.");
}
查询到的数据存放在x1[],y1[]数组中
var map = new BMap.Map("container");
var x=new Array();
var y=new Array(); //x="<%=x1%>";
//y="<%=y1%>";
x[1]="<%=x1[1]%>";
y[1]="<%=y1[1]%>";
x[2]="<%=x1[2]%>";
y[2]="<%=y1[2]%>";
x[3]="<%=x1[3]%>";
y[3]="<%=y1[3]%>";
x[0]="<%=x1[0]%>";
y[0]="<%=y1[0]%>";
//windows.alert(x[0]);
var point = new BMap.Point(x[0],y[0]); // 创建点坐标 //var point = new BMap.Point(x1[0],y1[0]);
map.centerAndZoom(point, 15);
//var x=new Array(113.98145,113.97411,113.96411,113.96311);
//var y=new Array(22.542475,22.545145,22.535145,22.535045);
//var mm="<%=x1[0]%>";var polyline = new BMap.Polyline([ new BMap.Point(x[0],y[0]),
new BMap.Point(x[1],y[1]),
new BMap.Point(x[2],y[2]),
new BMap.Point(x[3],y[3])
],
{strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5}
);
map.addOverlay(polyline);
以上两段代码在同一个JSP文件中如何实现把JAVA中数组x1[]的数据传给JS中的x[]???JavaScriptJSP
{ //type1 javac
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{out.println("JDBC driver not installed!<BR>");
}
try
{
con=DriverManager.getConnection("jdbc:odbc:gpssource","sa","wayne923");
sql=con.createStatement();
rs=sql.executeQuery("select *from gpsdata where CarID='湘F8762D' and LocationDate between '2012-02-28 20:55:00' and '2012-03-02 09:55:00'");
int i=0;
int j=0;
while(rs.next())
{ //out.print(rs.getFloat("LocationX")+" "+rs.getFloat("LocationY"));
x1[i++]=rs.getFloat("LocationX");
y1[j++]=rs.getFloat("LocationY");
//out.println("<BR>");
}
con.close();
}
catch(SQLException e1)
{ out.println("SQL connection error.");
}
查询到的数据存放在x1[],y1[]数组中
var map = new BMap.Map("container");
var x=new Array();
var y=new Array(); //x="<%=x1%>";
//y="<%=y1%>";
x[1]="<%=x1[1]%>";
y[1]="<%=y1[1]%>";
x[2]="<%=x1[2]%>";
y[2]="<%=y1[2]%>";
x[3]="<%=x1[3]%>";
y[3]="<%=y1[3]%>";
x[0]="<%=x1[0]%>";
y[0]="<%=y1[0]%>";
//windows.alert(x[0]);
var point = new BMap.Point(x[0],y[0]); // 创建点坐标 //var point = new BMap.Point(x1[0],y1[0]);
map.centerAndZoom(point, 15);
//var x=new Array(113.98145,113.97411,113.96411,113.96311);
//var y=new Array(22.542475,22.545145,22.535145,22.535045);
//var mm="<%=x1[0]%>";var polyline = new BMap.Polyline([ new BMap.Point(x[0],y[0]),
new BMap.Point(x[1],y[1]),
new BMap.Point(x[2],y[2]),
new BMap.Point(x[3],y[3])
],
{strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5}
);
map.addOverlay(polyline);
以上两段代码在同一个JSP文件中如何实现把JAVA中数组x1[]的数据传给JS中的x[]???JavaScriptJSP
不就行了吗?
x1=(new Function("return " +x1))();
x1=(new Function("return " +x1))();
不就行了
还怎么详细?
x=(new Function("return " +x1))();var y="["+"<%=y1%>"+"]";
y=(new Function("return " +y1))();
我是这样运行的 数据没有成功传递
x=(new Function("return " +x))();var y="["+"<%=y1%>"+"]";
y=(new Function("return " +y))();
试试
x=(new Function("return " +x))();var y="<%=y1%>";
y=(new Function("return " +y))();试试
var y=new Array();
<% for(int i=0;i <x1.length;i++){ %>
x[<%=i%>]= "<%=x1[i]%>";
<% } %>
<% for(int i=0;i <y1.length;i++){ %>
y[<%=i%>]= "<%=y1[i]%>";
<% } %>
还是十分感谢
<%
out.write("var x=[");
String str="";
for(String x:x1){
str+=",'"+a+"'";
}
out.write(str.replaceFirst(",",""));
out.write("];");
%>试试这个;
比你那个简洁