Parcourir les valeurs de ma liste (liste) de mon Servlet dans un
Marwen++
Messages postés
4
Statut
Membre
-
Marwen++ Messages postés 4 Statut Membre -
Marwen++ Messages postés 4 Statut Membre -
Je suis nouveau à la programmation Java ee et je suis en train de parcourir les valeurs de ma liste (liste) de mon Servlet dans un javascript code dynamiquement. Je veux montrer toutes mes pays mais pas d'une manière statique.
Mon JS code:
Mon Servlet:
Mon JS code:
<script>
var chartData = [
{
"country": 'America',
"distance": 2
},
{
"country": 'Canada',
"distance": 7
}
];
</script>
Mon Servlet:
List<Site> liste = metier.listeSite();
request.setAttribute("liste", liste);
request.getRequestDispatcher("geogBarChart.jsp").forward(request, response);
1 réponse
-
Bonjour,
C'est un peu moche mais tu peux utiliser une jsp pour générer ton fichier js.
Pour le client c'est un fichier .js mais derrière tu le traites en JSP avec une boucle.
La solution moins moche c'est de faire un .js qui ne change pas mais qui va appeler un service rest par exemple qui lui renverra la liste en json.-
-
Je ne sais pas si ton code actuel fonctionne (au pire tu peux regarder cet exemple), mais dans le web.xml tu précises quelle servlet est appelée pour chaque url que tu saisis, donc tu peux marquer une servlet pour un fichier .js
<servlet-mapping> <servlet-name>JavaScriptServlet</servlet-name> <url-pattern>/js/monFichier.js</url-pattern> </servlet-mapping>
Dans ta servlet tu fais lerequest.getRequestDispatcher("/monFichier.jsp");et il ne te reste plus qu'à éditer ton JSP avec ta boucle :
<script>var chartData = [ <c:forEach var="data" items="${liste}"> { "country": '${data.country}', "distance": ${data.distance} } </c:forEach> ];</script>
Dans ta page html ça ne change rien, tu mets ton<script src="/js/monFichier.js"></script>
qui va appeler la servlet et donc la JSP... -
-