Dobrze, więc może ktoś może mi pomóc z problemem, który próbuję rozwiązać. Zasadniczo mam stronę JSP, która pobiera listę obiektów Country (z metody referenceData() z Spring Portlet SimpleFormController, niezupełnie trafny, ale tylko wspominając w przypadku, gdy jest). Każdy obiekt Kraj posiada zestaw przedmiotów prowincja i każda prowincja i kraj posiada Nazwa pola:Wypełnianie tablicy JavaScript z listy JSP
public class Country {
private String name;
private Set<Province> provinces;
//Getters and setters
}
public class Province {
private String name;
//Getters and setters
}
Teraz mam dwa menu rozwijanych w moim JSP dla krajów i województw, a chcę, aby filtrować prowincjach kraju. Śledziłem to tutorial/guide, aby wybrać łańcuch w JavaScript.
Potrzebuję teraz dynamicznego sposobu na utworzenie tablicy JavaScript z mojej zawartości. Zanim ktokolwiek wspomina o AJAX, nie wchodzi to w grę, ponieważ nasz projekt korzysta z portletów i chcielibyśmy trzymać się z daleka od używania frameworków takich jak DWR lub tworzenia serwletu. Oto JavaScript/JSP mam tak daleko, ale to nie jest wypełniania tablicy z niczego:
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>
czy ktoś wie, jak utworzyć tablicę JavaScript w JSP w przypadku powyżej lub co do „najlepszych praktyk” byłby rozważany w tym przypadku? Z góry dziękuję!
Druga przyczyniłaby się do generowania znacznie mniej kodu, więc zdecydowanie wybrałbym tę trasę. – Pointy
Słodkie, dzięki! Mam problem z moim kontrolerem, który zdobył kraje, ale to było dokładnie to, czego szukałem ... jeszcze raz dziękuję! Skończyłem z drugim rozwiązaniem, które produkuje JSON na wypadek, gdyby ktoś się zastanawiał. –
Cieszę się, że mogę pomóc. –