需要将数组的元素添加到 JSP 中的 JavaScript 的变量中

Need to add elements of an array to a variable of JavaScript in JSP

我正在为 google 地图的标记列表创建一个数组。该代码适用于一个 forEach 循环,但我还需要将新数组的元素添加到列表中。

我当前的代码在结果 2 的 var 上显示以下错误消息。

  Syntax error on token "var", ;  expected

一个数组的代码

var results = [
        <c:forEach var="cus" items="${customer}" varStatus="loop">[
            "${cus.value.name}", "${cus.value.latitude}",
            "${cus.value.longitude}", "${loop.index}",
            "${cus.value.id}"], </c:forEach> ];

两个数组的代码

var results = "[" +
                <c:forEach var="cus" items="${customer}" varStatus="loop">[
                        "${cus.value.name}", "${cus.value.latitude}",
                        "${cus.value.longitude}", "${loop.index}",
                        "${cus.value.id}"], </c:forEach> 

var results2 = results + <c:forEach var="staff" items="${staff}" varStatus="loop"> 
        + "[" +
                  "${staff.value.name}", "${staff.value.latitude}",
                  "${staff.value.longitude}", "${loop.index}",
                  "${staff.value.id}"], </c:forEach> 
        +"]";

首先,在两个数组的代码中,您不希望将方括号括在引号中。这将使您的整个数组 resultresult2 成为字符串。
其次,results 缺少右括号,results2.
缺少左括号 第三,你不能只 + JavaScript 中的数组。有一个 concat() 方法。

试试这个:

var results = [
    <c:forEach var="cus" items="${customer}" varStatus="loop">
    [
        "${cus.value.name}",
        "${cus.value.latitude}",
        "${cus.value.longitude}",
        "${loop.index}",
        "${cus.value.id}"
    ],</c:forEach>
];

var results2 = results.concat([
    <c:forEach var="staff" items="${staff}" varStatus="loop">
    [
        "${staff.value.name}",
        "${staff.value.latitude}",
        "${staff.value.longitude}",
        "${loop.index}",
        "${staff.value.id}"
    ],</c:forEach>
]);