Правильное создание массива JavaScript с использованием JSTL для: каждого
Я пытаюсь создать объект массива на основе данных, которые пришли из сервлета с момента попытки c: если с переменной 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"
}
] ;
Если это нормально, тогда я ошибаюсь в синтаксисе, чтобы это осуществить.
еще раз спасибо
1 ответ
Решение
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 JS