使用 JSTL for:each 正确创建 javascript 数组

Creating javascript array correctly using JSTL for:each

我正在尝试基于来自 servlet 的数据创建一个数组对象,因为尝试 c:if 使用 Javascript 变量无效。会话变量 'preeditList' 是一个包含 3 个字段的数组。这是我的 JSP 中的以下数组:

  var checkedArray = 
      [
        <c:forEach items="${preeditList}" var="preeditList" varStatus="status">  
           {"schedulekey": '${preeditList.getCHK_SCHEDULE_NUMBER()}',
            "contractkey": '${preeditList.getCHK_CONTRACT_YEAR()}',
            "prevStatus": '${preeditList.getCHK_STATUS()}' 
           }
           <c:if test="${!status.last}">    
           ,    
          </c:if>  
       </c:forEach>  
     ]  ;

这给了我很多语法错误,说应该是逗号。首先,数组应该看起来像这样还是完全搞砸了:

 var checkArray = [
    {
     "schedulekey": "43080",
     "contractkey": "2016",
     "prevStatus": "RP"
     },
    {
     "schedulekey": "43070",
     "contractkey": "2016",
     "prevStatus": "CP"
     } 
    ]  ;                            

如果这没问题,那么我的语法错误是为了解决这个问题。

再次感谢

var countries = [
<c:forEach items="${countryList}" var="country" varStatus="status">  
    {country: '${country.name}',
    provinces : [ 
        <c:forEach items="${country.provinces}" var="province" varStatus="provinceStatus">  
           '${province.name}'
           <c:if test="${!provinceStatus.last}">    
             ,    
           </c:if>   
        </c:forEach>  
    ]}
    <c:if test="${!status.last}">    
      ,    
    </c:if>  
    </c:forEach>  
];

其他方式:

var countries = new Array();
<c:forEach items="${countryList}" var="country" varStatus="status"> 
    countryDetails = new Object();
    countryDetails.country = ${country.name}; 
    var provinces = new Array();

        <c:forEach items="${country.provinces}" var="province" varStatus="provinceStatus"> 
           provinces.push(${province.name});
        </c:forEach> 
    countryDetails.provinces = provinces;
    countries.push(countryDetails);
</c:forEach> 

输出:

var countries = [
  {country:"USA",
  provinces: [
    "Ohio",
    "New York",
    "California"
  ]},
  {country:"Canada",
  provinces: [
    "Ontario",
    "Northern Territory",
    "Sascetchewan"
  ]},
]

我从问题中找到了解决方案..... JSTL To JS