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

Taglibs Java Discussion :

boucle de boucle : mon premier foreach


Sujet :

Taglibs Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut boucle de boucle : mon premier foreach
    Bonjour,

    Je pense que vous aurez vite compris le problème qui se pose. Je dois réaliser l'équivalent d'un foreach PHP mais je ne sais pas du tout comment m'y prendre en JSP. Si quelqu'un pouvait m'aiguiller svp merci...

    Le cas de figure classique :

    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
    <form name="form1" method="post" action="">
    <table width="200" border="0" cellspacing="0" cellpadding="0">
      <tr> 
          <td>50<input type="hidden" name="hid50" value="50"></td>
        <td><input type="text" name="textfield"></td>
      </tr>
      <tr> 
          <td>18<input type="hidden" name="hid18" value="18"></td>
        <td><input type="text" name="textfield"></td>
      </tr>
      <tr> 
          <td>20<input type="hidden" name="hid20" value="20"></td>
        <td><input type="text" name="textfield"></td>
      </tr>
      <tr> 
        <td colspan="2">
            <input type="submit" name="Submit" value="Mettre à jour">
          </td>
      </tr>
    </table>
    </form>
    et le fait d'appuyer sur le bouton met à jour la valeur correspondante à l'id de la ligne en question...

    Bien à vous

    hpl76

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 890
    Par défaut
    Salut,

    Tu peux utiliser JSTL dans une JSP pour faire une boucle foreach, comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <c:forEach items="${taListe}" var="nomDeTaVariable">
    ${nomDeTaVariable}<br/>
    </c:forEach>
    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Oui j'avais en effet vu cette solution mais le problème c'est que je ne vois pas comment l'implémenter dans mon cas. Je suis très PHP à la base et tout cela est un peu nouveau pour moi.
    J'avais cet exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            <h2>2ème test</h2>
      <c:forEach begin="1" end="12" var="i" step="3" varStatus="vs">
      index = <c:out value="${vs.index}"/> : 
      count = <c:out value="${vs.count}"/> : 
      value = <c:out value="${i}"/>
      <c:if test="${vs.first}">
         : Premier element
      </c:if>
      <c:if test="${vs.last}">
         : Dernier element
      </c:if>
      <br>
    </c:forEach>
    J'ai du mal à faire le lien avec la méthode POST...

    hpl76

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Au secours, je sèche complètement

  5. #5
    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
    Billets dans le blog
    1
    Par défaut
    Quelle est la fonctionnalité que tu veux implémenter exactement ?
    (j'ai pas trop compris ce que tu cherches)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Merci OButterlin, ca serait pas la première fois que tu me sauverais la vie et je t'en remercie.

    Si tu reprends le code de mon premier post tu vas tout de suite comprendre.

    C'est de pouvoir mettre à jour une liste de valeurs (chaque champ/valeur correspond à une ligne en base) et que tout se mette à jour quand je presse mon bouton valider. C'est tout bête à première vue, je sais faire en php mais je bute sur le jsp.

    Exemple :

    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
    <form name="form1" method="post" action="">
    <table width="200" border="0" cellspacing="0" cellpadding="0">
      <tr> 
          <td>50<input type="hidden" name="hid50" value="50"></td>
        <td><input type="text" name="textfield"></td>
      </tr>
      <tr> 
          <td>18<input type="hidden" name="hid18" value="18"></td>
        <td><input type="text" name="textfield"></td>
      </tr>
      <tr> 
          <td>20<input type="hidden" name="hid20" value="20"></td>
        <td><input type="text" name="textfield"></td>
      </tr>
      <tr> 
        <td colspan="2">
            <input type="submit" name="Submit" value="Mettre à jour">
          </td>
      </tr>
    </table>
    </form>
    Je saisis blabla pour l'id 50, toto pour l'id du 18 et OButterlin pour l'id 20.
    A priori c'est plus des nombres mais c'est pour l'exemple.

    Je valide et en base le dit champ s'initialise à blabla pour la ligne 50, toto pour l'enregistrement...un simple update multiple avec correspondance en quelque sorte. Tu me suis ?

    Merci à toi.

    hpl76

  7. #7
    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
    Billets dans le blog
    1
    Par défaut
    En supposant que ta table est la structure suivante :
    ID (Integer)
    TEXT (VARCHAR)

    Tu cherches à convertir une liste de valeurs venant de l'IHM en enregistrement de cette table (on est d'accord ?)

    Tu peux faire de plusieurs façons, en voici une :

    - la page JSP (là, c'est du statique)
    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
    22
    23
     
    <html>
    <head>
    </head>
     
    <body>
    <form action="<%=request.getContextPath()%>/Test" method="POST">
    <table>
    <%
        for (int i = 0; i < 10; i++)
        {
    %>
        <tr>
        <td><input type="text" name="ID" value="<%=i+1%>" /></td>
        <td><input type="text" name="TEXT" value="" /></td>
        </tr>
    <%    }    %>
    </table>
    <input type="submit" value="Enregistrer"/>
    </form>
     
    </body>
    </html>
    - La servlet pour l'insertion en base
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    package test.web;
     
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
     
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    public class ServletTest extends HttpServlet
    {
        private static final long serialVersionUID = 1;
     
        public void service(HttpServletRequest request, HttpServletResponse response)
        {
            Connection connection = null;
            try
            {
                Class.forName("com.mysql.jdbc.Driver");
                connection = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "ob");
     
                PreparedStatement pstmt = connection.prepareStatement("insert into textes(ID, TEXT) values(?, ?)");
     
                String[] ids = request.getParameterValues("ID");
                String[] txs = request.getParameterValues("TEXT");
     
                for (int i = 0; i < ids.length; i++)
                {
                    pstmt.setInt(1, Integer.parseInt(ids[i]));
                    pstmt.setString(2, txs[i]);
                    pstmt.executeUpdate();
                }
            }
            catch (Exception e)
            {
                System.out.println(e.getMessage());
            }
            finally
            {
                if ( connection != null ) try { connection.close(); } catch (Exception e) {}
            }
        }
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Merci pour cette réponse.

    Voilà ma donne et mon raisonnement, je suis sur la page ou il y a un tableau avec mes numéro unique et en face de chaque n° un champ texte correspondant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String valider = request.getParameter("Valider");
            //si on a cliqué sur "Valider"
            if (valider!=null){
            //mettre à jour toutes les lignes 
            }
    J'ai déjà une classe de connexion (il faut savoir que je ne maitrise pas du tout ces notions mais je n'ai pas le choix lol)

    Comme mon appli est tourné web j'utilise les get et les post et je voulais faire comme un tableau qui dit pour chaque saisie, paf, update de telle valeur...le fameux foreach post de php mais version jsp...

    Du genre qu'au final on ait une boucle d'update du style :

    update users set level = noob where nom = hpl76
    update users set level = pro where nom = obutterlin

    j'aurai saisi en face d'hpl76 (mon info unique) : "noob" et "pro" pour toi

    Bien à toi

    hpl76

  9. #9
    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
    Billets dans le blog
    1
    Par défaut
    Ben, à la base, pourquoi se soucier de l'insert ou de l'update dans la page, tu peux le faire dans la servlet, une adaptation du genre
    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
    22
    23
    24
    25
    26
    27
     
     
                PreparedStatement pstmtInsert = connection.prepareStatement("insert into textes(ID, TEXT) values(?, ?)");
                PreparedStatement pstmtUpdate = connection.prepareStatement("update textes set TEXT=? where ID=?");
                PreparedStatement pstmtSelect = connection.prepareStatement("select * from textes where ID=?");
     
                String[] ids = request.getParameterValues("ID");
                String[] txs = request.getParameterValues("TEXT");
     
                for (int i = 0; i < ids.length; i++)
                {
                    int key = Integer.parseInt(ids[i]);
                    pstmtSelect.setInt(1, key);
                    rs = pstmtSelect.executeQuery();
                    if ( rs.next() )
                    {
                        pstmtUpdate.setString(1, txs[i]);
                        pstmtUpdate.setInt(2, key);
                        pstmtUpdate.executeUpdate();
                    }
                    else
                    {
                        pstmtInsert.setInt(1, key);
                        pstmtInsert.setString(2, txs[i]);
                        pstmtInsert.executeUpdate();
                    }
                }
    On peut également ajouter un cas : si txs[i] est vide, supprimer l'enregistrement DB
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
                for (int i = 0; i < ids.length; i++)
                {
                    int key = Integer.parseInt(ids[i]);
                    pstmtSelect.setInt(1, key);
                    rs = pstmtSelect.executeQuery();
                    if ( rs.next() )
                    {
                        if ( txs[i].trim().length() == 0 )
                        {
                            pstmtDelete.setInt(1, key);
                            pstmtDelete.executeUpdate();                        
                        }
                        else
                        {
                            pstmtUpdate.setString(1, txs[i]);
                            pstmtUpdate.setInt(2, key);
                            pstmtUpdate.executeUpdate();                        
                        }
                    }
                    else
                    {
                        if ( txs[i].trim().length() > 0 )
                        {
                            pstmtInsert.setInt(1, key);
                            pstmtInsert.setString(2, txs[i]);
                            pstmtInsert.executeUpdate();
                        }
                    }
                }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    C'est vraiment super sympa de ta part OButterlin de m'épauler de la sorte. J'me sens moins seul dans ma galère. Le p'tit hic c'est que je ne maitrise pas grand chose donc je ne sais pas quoi faire pour appeler, ne serait-ce que définir une servlet. En gros le topo c'était : "tu vas me faire ca sous oracle et java tourné web". "Oui mais moi je ne connais ni l'un ni l'autre..."
    (C'est pas grave en soit, tout s'apprend) sauf que c'est pour dans 2 semaines lol, ah oué merde quand même donc je taffe aussi chez moi pour le coup mais tu dois connaitre ca lol. Je ne veux pas qu'on me prenne par la main car je suis avide de connaissances et ca me plait mais là ca me dépasse un peu...

  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
    Billets dans le blog
    1
    Par défaut
    Il te manque quoi au juste, la manière de référencer une servlet ?
    Histoire d'avoir une vue d'ensemble d'un projet web dynamique, voici en gros une procédure pour Eclipse.

    1) Créer un projet Web (Dynamic Web Project)
    2) Placer dans le répertoire /WebContent/WEB-INF/lib les jar spécifiques (comme le driver JDBC par exemple)
    3) La structure obtenue est la suivante :

    MonProjetWeb
    ...src <- Ici, tu créeras tes packages et classes

    ...WebContent
    ......WEB-INF
    .........lib
    .........web.xml

    ......pages <- A créer, racine des pages de l'application

    ......index.jsp <- Page par défaut

    4) Pour créer une servlet, pas compliqué, il suffit de créer une classe qui étende HttpServlet (dans le package approprié) comme l'exemple que je t'ai fourni.

    5) Ensuite, il faut référencer la servlet dans le fichier web.xml.
    2 choses sont à faire :

    - définir la servlet en associant un nom à une classe
    <servlet>
    <servlet-name>Test</servlet-name>
    <servlet-class>test.web.ServletTest</servlet-class>
    </servlet>

    - définir le lien entre ce nom et le nom logique qui sera utilisé dans les pages
    <servlet-mapping>
    <servlet-name>Test</servlet-name>
    <url-pattern>/Test</url-pattern>
    </servlet-mapping>

    (Attention, il y a un ordre à respecter pour ces balises)

    6) Créer une page jsp d'appel

    Le lien (ici) se fera par la balise <form> via l'attribut "action"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form action="<%=request.getContextPath()%>/Test" method="POST">
    ... les champs <input> <radio> <select> <textarea> etc...
    </form>
    (le <%=request.getContextPath()%> permet de ne pas avoir à se soucier du nom de l'application, c'est remplacé automatiquement à l'exécution)

    Après ça, normalement, quand tu valideras ta page, elle appellera la servlet qui fera le traitement...

    Si à la fin du traitement la servlet doit renvoyer vers une page, le mieux est d'utiliser un RequestDispatcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getRequestDispatcher("/index.jsp").forward(request, response);
    Voilà, en gros, pour démarrer...
    Si certains points restent obscures, n'hésite pas à poster
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Re,
    C'est ce que j'appelle un rapport

    Perso je travaille sous netbeans (un conseil d'ami)

    J'ai créé mon servlet et apparemment ca a directement incrémenté mon fichier web.xml. Le problème c'est que le servlet me demandait des valeurs par défaut.

    Mon web.xml (tribute lol) donne ceci maintenant :

    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
    22
    23
    24
    25
    26
    27
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        <servlet>
            <servlet-name>obutterlin</servlet-name>
            <servlet-class>obutterlin</servlet-class>
            <init-param>
                <param-name>ids</param-name>
                <param-value>Value</param-value>
            </init-param>
            <init-param>
                <param-name>txs</param-name>
                <param-value>Value</param-value>
            </init-param>
        </servlet>
        <servlet-mapping>
            <servlet-name>obutterlin</servlet-name>
            <url-pattern>/obutterlin</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
            </welcome-file-list>
        </web-app>
    Je vais essayer de l'appeler maintenant et te tiens au courant. J'essaierai en retirant ces param demandés directement dans le web.xml.

    hpl76

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Voilà le premier résultat, j'ai eu peur des erreurs mais c'est encourageant :

    J'ai défini ma enfin TA classe et le web.xml comme indiqué dans le post précédent.

    J'ai ensuite dans mon fichier jsp intégré le code de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (v3.size()>0){out.println("<P><FORM action='request.getContextPath()/obutterlin' method='POST' /><TABLE CLASS='result' border='1'>
            for(int k=0;k<v3.size();k++){
    ...
    Message renvoyé par le navigateur :

    dans l'url : http://localhost/preprod/request.get...h()/obutterlin

    Etat HTTP 404 - /preprod/request.getContextPath()/obutterlin
    --------------------------------------------------------------------------------
    type Rapport d'état
    message /preprod/request.getContextPath()/obutterlin
    description La ressource demandée (/preprod/request.getContextPath()/obutterlin) n'est pas disponible.
    --------------------------------------------------------------------------------
    Apache Tomcat/5.0.28
    Une idée ? Encore 1000 mercis, je sens qu'on approche du dénouement final

    hpl76

  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
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hpl76 Voir le message
    Une idée ?
    Oui, j'en ai une

    Tu as mal copier un truc... Ce n'est pas "request.getContextPath()" mais "<%=request.getContextPath()%>" si tu utilises les balises html
    Ou alors, si tu écris le tout via "out" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (v3.size()>0)
    {
       out.println("<P><FORM action='" + request.getContextPath() + "/obutterlin' method='POST' /><TABLE CLASS='result' border='1'>");
    
       for (int k = 0; k < v3.size(); k++)
       {
          ...
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Oui j'ai vu entre temps et j'avais en fait un truc tiré par les cheveux qui marchait mais ta syntaxe est bien plus propre. J'arrive maintenant à afficher :

    Servlet obutterlin at /preprod


    Bon maintenant c'est de réussir à faire mes updates multiples, de vérifier les doublons et de proposer le choix d'écraser les valeurs. Ca te parait sorcier ?
    C'est quoi dans un des premiers posts le "package test.web;" ?

    En tout cas merci de prendre de ton temps pour m'expliquer. J'apprends bien plus sur ce type d'échange qu'avec un livre ou un tuto

    hpl76

  16. #16
    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
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hpl76 Voir le message
    Bon maintenant c'est de réussir à faire mes updates multiples, de vérifier les doublons et de proposer le choix d'écraser les valeurs. Ca te parait sorcier ?
    Non, avec le code de la servlet que je t'ai mis, il n'y a plus grand chose à faire...
    Citation Envoyé par hpl76 Voir le message
    C'est quoi dans un des premiers posts le "package test.web;" ?
    C'est le nom du package que j'ai créé pour coder les exemples
    Citation Envoyé par hpl76 Voir le message
    En tout cas merci de prendre de ton temps pour m'expliquer. J'apprends bien plus sur ce type d'échange qu'avec un livre ou un tuto
    Merci
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Tu plaisantes j'espère c'est moi qui te remercie.

    On a la même vision du forum

    Je continue mes essais et te tiens au courant.

    hpl76

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    J'arrive à maintenant afficher 2 tableaux distincts ids et txs dans ma servlet mais je voudrais pouvoir faire de l'associatif genre ids -> txs.

    Apparemment la solution serait le HashMap mais je suis en 1.4 et j'ai cru lire que ce n'était pas supporté :'(

    La solution c'est le vecteur ou l'array ? Comment l'alimenter sans erreur ?
    Après je n'aurai plus qu'à parcourir cet élément tant qu'il y en a et faire mes maj...

    HashMap<String, String> map = new HashMap<String, String>();
    Faut mettre quoi à la place de String si c'est les HashMap ?

    Cordialement,

    hpl76.

  19. #19
    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
    Billets dans le blog
    1
    Par défaut
    La map n'a pas trop d'intérêt ici, dans le request, c'est bien 2 tableaux distincts...

    Si tu es en 1.4, tu ne peux pas utiliser les listes typées genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Map<String, String> map = new HashMap<String, String>();
    mais rien ne t'empêche de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Map map = new HashMap();
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Bonjour OButterlin, je suis de retour sur ce sujet et je suis toujours bloqué.

    Voilà ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //on récupère la valeur du bouton
             String valider = request.getParameter("Valider");
            //si on a cliqué sur "Valider"
            if (valider!=null){
            //remplacer cet out.println par la fameuse boucle
            out.println("tu as appuyé !");  
            }
    Faire une requête pour chaque valeur postée, c'est à dire toutes mettre à jour avec la valeur en face correspondante.

    Merci de ton aide.

    Sinon peux-tu me compléter ce code stp pour parcourir et afficher.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            Map map = new HashMap();
            map.put("num1", "toi");
            map.put("lenum2", "moi");
            map.put("etlenum3", "lui");
    hpl76

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Boucle infini dans mon affichage
    Par Cellendhyll82 dans le forum Langage
    Réponses: 5
    Dernier message: 18/11/2010, 12h05
  2. Double boucle : perte de la premiere référence
    Par Gautheron dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/06/2009, 09h11
  3. pourquoi ma boucle fait planté mon appli ?
    Par zerros dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/05/2009, 17h21
  4. Boucle répétitive pour mon programme
    Par jena dans le forum MATLAB
    Réponses: 2
    Dernier message: 19/05/2007, 13h41
  5. boucle de boucles de boucles, etc.
    Par stokastik dans le forum C
    Réponses: 10
    Dernier message: 09/10/2006, 11h39

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