Ok, quindi forse qualcuno può aiutarmi con un problema che sto cercando di risolvere. Essenzialmente ho una pagina JSP che ottiene una lista di oggetti Country (dal metodo referenceData() da un SimpleFormController Spring Portlet, non del tutto pertinente, ma solo citando nel caso lo sia). Ogni oggetto Paese ha una serie di oggetti di provincia e di ogni provincia e il paese hanno un campo di nome:Compilazione di array JavaScript dall'elenco JSP
public class Country {
private String name;
private Set<Province> provinces;
//Getters and setters
}
public class Province {
private String name;
//Getters and setters
}
Ora ho due menù a scomparsa nel mio JSP per i paesi e le province e voglio filtrare le province per paese. Ho seguito questo tutorial/guide per effettuare una selezione a catena in JavaScript.
Ora ho bisogno di un modo dinamico per creare l'array JavaScript dal mio contenuto. E prima che qualcuno menzioni AJAX, questo è fuori discussione dal momento che il nostro progetto usa portlet e vorremmo stare lontano dall'usare framework come DWR o creare un servlet. Ecco il JavaScript/JSP ho finora ma non è che popolano l'Array con qualsiasi cosa:
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>
Qualcuno sa come creare un array JavaScript in JSP nel caso di cui sopra o quello che la 'best practice' sarebbe considerato in questo caso? Grazie in anticipo!
La seconda risulterebbe in un numero considerevolmente inferiore di codice generato, quindi avrei sicuramente seguito quella strada. – Pointy
Dolce, grazie! Sto avendo un problema con il mio controller per ottenere i paesi, ma questo era esattamente quello che stavo cercando ... grazie ancora! Ho finito per andare con la seconda soluzione che produce JSON nel caso qualcuno se lo stesse chiedendo. –
Contento di aver potuto aiutare. –