请求变量${taskInArray}
是一个包含值的数组。
如何用javascript检测该数组的长度?
编译器向我显示错误。
<script>
var length;
$(document).ready(function() {
length = ${taskInArray}.length; //Syntax error on token "}", delete this token
}); //Syntax error on token "}", delete this token
</script>
答案 0 :(得分:0)
您正在混合使用两种不同的代码。关键是要实现每个代码执行时 和 - 在请求和呈现页面时服务器上的JSP(即之前响应发送到浏览器)和浏览器中的Javascript, 后,浏览器会收到已生成的响应。
因此,在服务器端,您需要将taskInArray
转换为JSON字符串,并将此字符串传递给您的(浏览器端)JavaScript代码。例如。使用GSON库:
import com.google.gson.Gson;
// ...
String jsonTaskInArray = new Gson().toJson(taskInArray);
request.setAttribute('jsonTaskInArray', jsonTaskInArray);
然后,在JavaScript中
var tasks = ${jsonTaskInArray} ;
length = tasks.length;