将java数组转换为javascript数组时出错
我试图将java数组转换为js数组。但它给出的错误是“k不能解析为变量”。x.getrows返回数组将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
<% 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。控制器是模型-视图-控制器体系结构中的控制器。例如阅读。