Parcourir les valeurs de ma liste (liste) de mon Servlet dans un

Fermé
Marwen++ Messages postés 3 Date d'inscription dimanche 15 décembre 2013 Statut Membre Dernière intervention 10 mars 2016 - Modifié par KX le 10/03/2016 à 19:53
Marwen++ Messages postés 3 Date d'inscription dimanche 15 décembre 2013 Statut Membre Dernière intervention 10 mars 2016 - 10 mars 2016 à 20:23
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:

<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

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
10 mars 2016 à 19:39
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.
0
Marwen++ Messages postés 3 Date d'inscription dimanche 15 décembre 2013 Statut Membre Dernière intervention 10 mars 2016
10 mars 2016 à 19:51
Merci d'avoir répondre .Mais comment ca ? pouvez vous proposez qqlq chose ? et merci d'avance.
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
10 mars 2016 à 20:13
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 le
request.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...
0
Marwen++ Messages postés 3 Date d'inscription dimanche 15 décembre 2013 Statut Membre Dernière intervention 10 mars 2016
10 mars 2016 à 20:23
c'a n'a pas marché .. rien ne s'affiche dans la page jsp àa il n'arrive pas à lire les données entrées
0