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 :

Comment envoyer à une servlet des valeurs qui se trouvent dans une boucle JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 96
    Points : 60
    Points
    60
    Par défaut Comment envoyer à une servlet des valeurs qui se trouvent dans une boucle JSP
    Bonjour à tous

    j'ai un petit problème que je ne trouve pas comment le résoudre.

    j'ai un tableau HTML qui est créé à l'aide d'une boucle "for" en JSP.
    à chaque incrémentation, je crée un input:
    INPUT type="submit" name="Submit" value="nom d'un objet d'une base de donnée"

    une fois que je fais un submit, je peux récupérer le nom de l'objet via la valeur du submit

    Le problème qui s'impose, c'est que je voudrais récupérer l'index de la boucle afin de savoir travailler sur l'objet même.

    je pourrais le faire à partir de la valeur du submit mais dans ce cas là, je ne pourrai pas avoir deux objet de même nom mais d'id différent.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Peut-être que j'ai mal compris ce que tu veux faire...

    Pourquoi tu ne fais pas quelque chose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" name="Submit" value="[NomObjet]_[IdBoucle]"/>
    Et après tu fais un split("_") pour récupérer les deux éléments.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 96
    Points : 60
    Points
    60
    Par défaut
    parce que... je ne veux pas voir apparaître un id sur le bouton, juste le nom de l'objet...

    l'objet est une "farde" qui contient des cd.
    j'ai une db qui contient c'est farde avec tous les détails dont j'ai besoin et le nom de chaque farde.
    sur la page JSP, elles s'affichent une à coté de l'autre sous forme de bouton( d'où les submit dans une boucle) qui contient le nom de la farde

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 96
    Points : 60
    Points
    60
    Par défaut
    lorsque je clique sur "une farde", je doit transmettre un id à la servlet pour savoir quelle farde est appelée.

    le problème, c'est qu'avec le submit (la valeur est le nom de la farde) et il me faudrait l'id

    j'ai essayé avec un champ caché mais ça ne fonctionne pas

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Ah OK, comprends mieux !

    Le champ caché ça doit le faire, il faut juste que tu es un seul submit par formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <% for (int i=0; i<tab.length; i++) { %>
      <form action="" method="post">
          <input type="hidden" id="h_id" name="id" value="<%=i%>"/>
          <input type="submit" name="Submit" value="[NomObjet]"/>
      </form>
    <% } %>
    Sinon il faut passer par des buttons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="" method="post">
    <input type="hidden" id="h_id" name="id" value=""/>
    <% for (int i=0; i<tab.length; i++) { %>
        <input type="button" name="Submit" value="[NomObjet]"
             onclick="document.getElementById('h_id').value=<%=i%>;submit();"/>
    <% } %>
    </form>

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 96
    Points : 60
    Points
    60
    Par défaut
    oky....merciii.... je vais essayer de suite

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 96
    Points : 60
    Points
    60
    Par défaut
    non, ça ne marche pas...
    lorsqu'il reviens à la servlet, il n'appelle pas la page jsp suivante.... mais, je regarderez demain car là, j'ai besoin d'arrêter pour aujourd'hui

    merci qd même

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 96
    Points : 60
    Points
    60
    Par défaut
    j'ai essayé le code suivant, biensur en mettant mais nom de variables mais ça ne marche pas
    Code:
    <form action="" method="post">
    <input type="hidden" id="h_id" name="id" value=""/>
    <% for (int i=0; i<tab.length; i++) { %>
    <input type="button" name="Submit" value="[NomObjet]"
    onclick="document.getElementById('h_id').value=<%=i%>;submit();"/>
    <% } %>
    </form>

    mon submit à une valeur null après cette manoeuvre mais je vais encore essayer autrement

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 96
    Points : 60
    Points
    60
    Par défaut
    sory... je viens seulement de voir où se trouve les balises code
    je refais ma question lol

    j'ai essayé le code suivant, biensur en mettant mais nom de variables mais ça ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="" method="post">
    <input type="hidden" id="h_id" name="id" value=""/>
    <% for (int i=0; i<tab.length; i++) { %>
    <input type="button" name="Submit" value="[NomObjet]"
    onclick="document.getElementById('h_id').value=<%=i%>;submit();"/>
    <% } %>
    </form>
    mon submit à une valeur null après cette manoeuvre mais je vais encore essayer autrement

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Je pensais que tu voulairs juste récupérer l'indice.

    Sinon il faut que tu rajoutes un deuxième champ caché, enfin autant que tu en as besoin !

    Il y a aussi un autre moyen, c'est d'immiter le comportement du <a href...>. Dans ce cas plus besoin de formulaire mais directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <intput type="button" name="XXX"
           onclick="self.location='mapage.jsp?i=<%=i%>&nom=TrucMuch'"/>

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Je te suggère ceci :
    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
    18
    19
    20
    21
     
    <head>
    <script>
    function sendId(id)
    {
       document.forms[0].id.value=id;
       document.forms[0].submit();
    }
    </script>
    </head>
     
    <body>
    <form action="...">
    <input type="hidden" name="id"/>
    ...
    <% for  (int i = 0; ....) { %>
     
       <input type="button" value="[leNom]" onclick="sendId(<%=i%>)"/>
     
    <% } %>
    ...
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 96
    Points : 60
    Points
    60
    Par défaut
    je vais essayer.... en tout cas c'est sympa pour l'aide que vous m'apportez
    je vous tien au courant

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 96
    Points : 60
    Points
    60
    Par défaut
    oky... le script fonctionne... j'ai bien l'id.

    encore merci pour l'aide ... c'est simple et efficace


  14. #14
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    de rien...

    A+

    si c'est ok pour toi ->
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/07/2014, 13h21
  2. Réponses: 0
    Dernier message: 07/11/2013, 15h39
  3. Comment afficher des listes qui se trouvent dans une autre liste ?
    Par khadi8 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 24/03/2012, 20h13
  4. Réponses: 1
    Dernier message: 09/04/2011, 15h08
  5. Réponses: 3
    Dernier message: 18/11/2008, 09h38

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