Ok, vielleicht kann mir jemand mit einem Problem helfen, das ich versuche zu lösen. Im Wesentlichen habe ich eine JSP-Seite, die eine Liste von Country-Objekten (von der Methode ReferenceData() aus einem Spring Portlet SimpleFormController, nicht ganz relevant aber nur erwähnen, falls es ist). Jedes Land Objekt verfügt über eine Reihe von Provinz-Objekten und jede Provinz und Land haben ein Namensfeld:Popup-JavaScript-Array von JSP-Liste
public class Country {
private String name;
private Set<Province> provinces;
//Getters and setters
}
public class Province {
private String name;
//Getters and setters
}
Jetzt habe ich zwei Drop-Down-Menüs in meinem JSP für Länder und Provinzen, und ich will die Provinzen nach Land filtern. Ich habe diese tutorial/guide verfolgt, um eine Kettenauswahl in JavaScript zu machen.
Jetzt brauche ich eine dynamische Möglichkeit, das JavaScript-Array aus meinem Inhalt zu erstellen. Und bevor jemand AJAX erwähnt, kommt dies nicht in Frage, da unser Projekt Portlets verwendet und wir uns davon abhalten wollen, Frameworks wie DWR zu verwenden oder ein Servlet zu erstellen. Hier ist die JavaScript/JSP Ich habe so weit, aber es ist nicht das Array mit etwas bevölkern:
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>
Wer weiß, wie ein JavaScript-Array in JSP in dem Fall erstellen oben oder was die ‚best-practice‘ würde in diesem Fall berücksichtigt werden? Danke im Voraus!
Die zweite würde dazu führen, dass wesentlich weniger Code generiert würde, also würde ich definitiv diesen Weg gehen. – Pointy
Süß, danke! Ich habe ein Problem damit, dass mein Controller die Länder bekommt, aber das war genau das, wonach ich gesucht habe ... nochmals vielen Dank! Am Ende ging ich mit der zweiten Lösung, die JSON produziert, falls sich jemand fragen würde. –
Ich bin froh, dass ich helfen konnte. –