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

Marwen++ Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Marwen++ Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
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);
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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   Statut Membre Dernière intervention  
 
Merci d'avoir répondre .Mais comment ca ? pouvez vous proposez qqlq chose ? et merci d'avance.
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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   Statut Membre Dernière intervention  
 
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