如何检测请求变量中的数组长度?

时间:2016-10-26 05:50:36

标签: javascript jsp

请求变量${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>

1 个答案:

答案 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;