数据查询语言如下: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

解决方案 »

  1.   

    用标签,或者用s:itaretor标签一个一个传 我用这个 写页数 或者c:foreach 你要用ajax,我也不反对!!
      

  2.   

    你是用servlet 就用tag c:foreach 用struts2 用itaretor 都是遍历出来的
      

  3.   

    可以jsp <% %>里面写java源代码
      

  4.   

    var x1="["+"<%=x1%>"+"]";
    不就行了吗?
      

  5.   

    要变成数组
    x1=(new Function("return " +x1))();
      

  6.   

    var x1="["+"<%=x1%>"+"]";
    x1=(new Function("return " +x1))();
    不就行了
    还怎么详细?
      

  7.   

    在JAVA中是x1,在JS中是x,有点混乱
      

  8.   

    var x="["+"<%=x1%>"+"]";
    x=(new Function("return " +x1))();var y="["+"<%=y1%>"+"]";
    y=(new Function("return " +y1))();
    我是这样运行的   数据没有成功传递
      

  9.   

    var x="["+"<%=x1%>"+"]";
    x=(new Function("return " +x))();var y="["+"<%=y1%>"+"]";
    y=(new Function("return " +y))();
    试试
      

  10.   

    var x="<%=x1%>";
    x=(new Function("return " +x))();var y="<%=y1%>";
    y=(new Function("return " +y))();试试
      

  11.   

    解决啦var x=new Array();
    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]%>"; 
    <%   }   %> 
    还是十分感谢
      

  12.   


    <%
    out.write("var x=[");
    String str="";
    for(String x:x1){
    str+=",'"+a+"'";
    }
    out.write(str.replaceFirst(",",""));
    out.write("];");
    %>试试这个;
    比你那个简洁
      

  13.   

    我的天那 至于吗 最好别在前台写java代码