Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将java数组转换为javascript数组时出错_Java_Jsp - Fatal编程技术网

将java数组转换为javascript数组时出错

将java数组转换为javascript数组时出错,java,jsp,Java,Jsp,我试图将java数组转换为js数组。但它给出的错误是“k不能解析为变量”。x.getrows返回数组 <% MySQLAccess x=new MySQLAccess();%> <% String b[]=x.getRows();%> var message="<%out.print(b[0]);%>" console.log(message) var data=new Array(); &l

我试图将java数组转换为js数组。但它给出的错误是“k不能解析为变量”。x.getrows返回数组

  <% MySQLAccess x=new MySQLAccess();%>
     <% String b[]=x.getRows();%>
     var message="<%out.print(b[0]);%>"
     console.log(message)   
     var data=new Array();
         <% for(int k=0;k<b.length ;k++) %>
         <%  {%>

          var temp=<%= b[k] %>
          data[<% =k %>]=temp;    
        <%}%>   

var message=“”
console.log(消息)
var data=新数组();

我的建议是修复此代码:忘记它:

  • 您永远不应该在JSP中使用Scriptlet
  • JS字符串文本需要在其周围加引号,并在其内部加转义引号和其他转义特殊字符
  • JSON是您应该使用的工具
因此,在控制器中,使用

request.setAttribute("jsArray", someJsonSerializer.toJson(javaArray));
在JSP中:

var data = ${jsArray};

@user2815407您在字符串数组中接收到什么?可能类似于
[str1、str2、str3]
。如果是这样,您可以轻松地将此字符串数组转换为js数组

var values = [];
values = //Your_string_array
//Iterate through each value
$.each(values, function( index, value ) {
   console.log(value);
});

看这个。这可能不是将java转换为js数组的最佳方式。希望这能给你一些想法。如果有帮助,请告诉我。

我建议不要使用scriplets,但以下是解决问题的方法:

 <% String b[] = new String[]{"10", "20", "30"};%>
            var message = "<%out.print(b[0]);%>"
            console.log(message)
            var data = new Array();
            <% for(int k=0;k<b.length;k++){%>
            var temp =<%=b[k]%>
            data[<%=k%>] = temp;
            <%}%>

var message=“”
console.log(消息)
var data=新数组();

不要像这样混合使用java和javascript。。我希望您知道它的代码真的很糟糕。行
data[]=temp错误?我解决了。同样的errorcontroller也表示我的MysqlAccess java程序.No。控制器是模型-视图-控制器体系结构中的控制器。例如阅读。