IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Objet java en paramètre d'une fonction d'un script d'une page jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2012
    Messages : 34
    Par défaut Objet java en paramètre d'une fonction d'un script d'une page jsp
    Bonjour à tous.
    Je cherche à récupérer un objet java dans un script de ma page jsp, or je ne voit pas comment faire. Mon problème est surtout d'ordre synthaxique je crois ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <%
    ObjetJava[] tableau = new ObjetJava[<size>];
    // Remplissage du tableau
    %>
     
    <select id="liste" onchange="methode(<% tableau %>)">
    // Remplissage du select
    </select>
     
    <script>
    function methode(tab)
    {
      alert(tab[0]);
    }
    </script>
    Ce code ne passe pas.
    Toute suggestion est la bienvenue !

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <%
    ObjetJava[] tableau = new ObjetJava[<size>];
    // Remplissage du tableau
    %>
    c'est du Java (coté serveur)
    .

    Ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script>
    function methode(tab)
    {
      alert(tab[0]);
    }
    </script>
    C'est du javascript coté client, ça n'a rien à voir.

    Si tu as besoin que tes données soient disponible ne javascript, il faut créer le code javascript qui contient ces données. un truc du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script> 
    var tableauJavascript==new Array(); 
    <c:forEach var="item" items="${tonTableauJava}">
    myCars.push("${item}");
    </c:forEach>
    </script>

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2012
    Messages : 34
    Par défaut
    tchize_ merci pour ta réponse.
    Je me suis renseignée sur ta proposition et j'ai tenté ce bout de code en m'inspirant de ce lien http://www.roseindia.net/jsp/simple-...dForEach.shtml

    Sans succès.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <% ObjetJava[] tableau %>
    // ...
     
    <select id="list" onchange="methode()"/>
    //...
     
    <script>
    function method()
    {
      var tab = new array();
      <c:forEach var="element" items="${tableau}">
      tab.push("${element}");
      </c:forEach>
      alert(tab.length);
    }
    </script>
    Peux tu m'expliquer ce que fait cette fonction <c:forEach var="element" items="${tableau}"> tab.push("${element}"); </c:forEach> s'il te plait?

    Merci.

    *** EDIT ***
    Je rectifie, je n'ai pas encore importé les lib nécessaires pour utiliser jstl. Je le fais tout de suite

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    le for each itère sur la variable dans le scope appelée session (il faut la mettre dans le scope, ça ne vois pas les variables hardcodées dans les scriptlets). La partie entre les balise est l'écriture dans le html (avec ${} une EL interprétée par JSP au moment du rendu).

    Bref, il ne faut jamais perdre de vue que ce que tu as c'est

    JSP --- génération --> html ---browser---> affichage et exécution du javascript.

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2012
    Messages : 34
    Par défaut
    Merci pour ces explications, c'est plus clair maintenant !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/05/2011, 12h48
  2. appel d'une fonction vb a partir d'une fonction javascript!
    Par labib23dz dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 03/07/2009, 11h04
  3. faire passer une fonction entant que parametre d'une fonction
    Par gali_fr dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/05/2008, 15h18
  4. Réponses: 6
    Dernier message: 08/12/2007, 14h33
  5. Réponses: 14
    Dernier message: 16/05/2006, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo