Хорошо, возможно, кто-то может помочь мне с проблемой, которую я пытаюсь решить. По сути, у меня есть страница JSP, которая получает список объектов Country (из метода referenceData() из Spring Portlet SimpleFormController, не совсем релевантный, но просто упоминается в случае, если это так). Каждый объект Страна имеет набор объектов провинции и в каждой провинции и страны имеют поле имя:Заполнение массива JavaScript из списка JSP
public class Country {
private String name;
private Set<Province> provinces;
//Getters and setters
}
public class Province {
private String name;
//Getters and setters
}
Теперь у меня есть два раскрывающихся меню в моем JSP для стран и провинций, и я хочу, чтобы отфильтровать провинций страны. Я слежу за этим tutorial/guide, чтобы выбрать цепочку в JavaScript.
Теперь мне нужен динамический способ создания массива JavaScript из моего содержимого. И прежде, чем кто-либо упоминает AJAX, это не может быть и речи, поскольку наш проект использует портлеты, и мы хотели бы избегать использования фреймворков, таких как DWR или создания сервлета. Вот JavaScript/JSP У меня есть до сих пор, но это не заселять массив с чем-нибудь:
var countries = new Array();
<c:forEach items="${countryList}" var="country" varStatus="status">
countries[status.index] = new Array();
countries[status.index]['country'] = ${country.name};
countries[status.index]['provinces'] =
[
<c:forEach items="${country.provinces}" var="province" varStatus="provinceStatus">
'${province.name}'
<c:if test="${!provinceStatus.last}">
,
</c:if>
</c:forEach>
];
</c:forEach>
Кто-нибудь знает, как создать массив JavaScript в JSP в случае выше или то, что «лучшей практики» будет рассматриваться в этом случае? Заранее спасибо!
Второй результат приведет к значительному уменьшению генерируемого кода, поэтому я бы определенно пошел по этому маршруту. – Pointy
Сладкий, спасибо! У меня возникла проблема с тем, что мой контроллер получил страны, но это было именно то, что я искал ... еще раз спасибо! Я в конечном итоге пошел со вторым решением, которое производит JSON на случай, если кто-то задается вопросом. –
Рад, что я мог помочь. –