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 -
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

  1. KX Messages postés 19031 Statut Modérateur 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
    1. Marwen++ Messages postés 4 Statut Membre
       
      Merci d'avoir répondre .Mais comment ca ? pouvez vous proposez qqlq chose ? et merci d'avance.
      0
    2. KX Messages postés 19031 Statut Modérateur 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
    3. Marwen++ Messages postés 4 Statut Membre
       
      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