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 :

Valeur entre formulaire et servlet


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Points : 51
    Points
    51
    Par défaut Valeur entre formulaire et servlet
    Salut ,

    Dans mon formulaire quand je clique sur un des étudiant a désactiver ou a supprimer , ça me supprime toujours , le premier dans la ligne peut importe quel étudiant je choisi ! alors que je veux désactiver/supprimer l'étudiant par apport a son Id que je passe ..

    Voila mon formulaire :

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    <% ResultSet rs; Statement st; Connection cc ; %>
     
     
                     <form method="post" action="activer_supp" >
     
                     <table border="1" align="center">
     
     
     
                         <thead>
                             <tr>
                                 <th></th>
                                 <th>Nom et prénom</th>
                                 <th>Date de naissance</th>
                                 <th>Email</th>
                                 <th>Télephone</th>
                                 <th>Login</th>
                                 <th>Mot de passe</th>
                                 <th>Cin</th>
                                 <th>Filière</th>
                                 <th>Groupe</th>
                                 <th>Activer</th>
                                 <th>Supprimer</th>
     
                             </tr>
                         </thead>
     
     
     
                         <% cc=cnx.connect();
                         st=cc.createStatement();
                         rs=st.executeQuery("select id,NOM_PRENOM,DATE_NAISSANCE,EMAIL,TELEPHONE,LOGIN,PASSE,cin,filiere,groupe from etudiants where validation = 2");
                         while(rs.next()){
                         %>
     
                         <tbody>
                             <tr>
     
                                 <td><input type="hidden" name="id" value="<%=rs.getString(1)%>"/></td>
                                 <td><%=rs.getString(2)%></td>
                                 <td><%=rs.getString(3)%></td>
                                 <td><%=rs.getString(4)%></td>
                                 <td><%=rs.getString(5)%></td>
                                 <td><%=rs.getString(6)%></td>
                                 <td><%=rs.getString(7)%></td>
                                 <td><%=rs.getString(8)%></td>
                                 <td><%=rs.getString(9)%></td>
                                 <td><%=rs.getString(10)%></td>
     
     
     
                                 <td><input type="image" border=0 src="icons/activer.jpg"  value="activer" name="bb"/></td>
                                 <td><input type="image" border=0 src="icons/delete.png"   value="supprimer" name="bb"/></td>
     
     
                             </tr>
                         </tbody>
     
                                  <%}%>  
     
     
     
                     </table>
                   </form>
     
     
     
                 </td>
                 </tr>
     
     
            </tbody>
     
     
     
    </table>
     
     
    </centre>
    Et voila ma servlet :

    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
    Connection cc;
        Statement st ;
        ResultSet rs;
     
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            try {
     
            String c = request.getParameter("id");
            String a = request.getParameter("bb");
     
     
            out.println(""+c); // m'affiche le meme nombre peut importe l'étudiant que je choisi
     
     
            cc=cnx.connect();
            st=cc.createStatement();
     
            if(a.equals("activer")){
     
                int re = st.executeUpdate("update etudiants set validation = 1 where id = '"+c+"' ");
            }
     
            else if (a.equals("supprimer")){
     
                int s = st.executeUpdate("delete from etudiants where id = '"+c+"' ");
            }
     
            response.sendRedirect("etud_desac.jsp");
     
            }catch(Exception e){
                e.printStackTrace();
            }
        }

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ben oui, en même temps, tu redéfinis 50.000 fois l'input id dans une seul formulaire, comment tu veux que ton browser sache lequel il faut soumettre?

    Le plus simple est d'associer l'id au bouton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
                                 <td><%=rs.getString(2)%></td>
                                 <td><%=rs.getString(3)%></td>
                                 <td><%=rs.getString(4)%></td>
                                 <td><%=rs.getString(5)%></td>
                                 <td><%=rs.getString(6)%></td>
                                 <td><%=rs.getString(7)%></td>
                                 <td><%=rs.getString(8)%></td>
                                 <td><%=rs.getString(9)%></td>
                                 <td><%=rs.getString(10)%></td>
     
     
     
                                 <td><input type="image" border=0 src="icons/activer.jpg"  value="activer" name="activate_<%=rs.getString(1)%>"/></td>
                                 <td><input type="image" border=0 src="icons/delete.png"   value="supprimer" name="delete_<%=rs.getString(1)%>"/></td>
    Ensuite, du coté servlet, tu cherche si t'as un paramètre qui commence par delete_ est ce qui est derrière le _ dans son nom, c'est l'id à supprimer.


    Si tu veux garder l'option d'un champ hidden, tu dois le mettre en dehors de la table, une seul fois, et rajouter du javascript sur le bouton qui change la valeur de ce champ avant de soumettre, ce qui est plus chiant à faire.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Points : 51
    Points
    51
    Par défaut
    Je ne sais pas comment faire , j'ai essayé mais ça marche pas , j'ai mis l'id dans l'input comme vous avez dis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       <td><input type="image" border=0 src="icons/activer.jpg"  value="activer" name="activate_<%=rs.getString(1)%>"/></td>
                                 <td><input type="image" border=0 src="icons/delete.png"   value="supprimer" name="delete_<%=rs.getString(1)%>"/></td>
    Mais dans la servlet j'avoue que je ne sais pas comment faire , j'ai mis comme ça :

    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
      try {
     
            String c = request.getParameter("id"); 
            String a = request.getParameter("activate_<%=rs.getString(1)%>"); 
     
     
    //        out.println(""+c); // m'affiche le meme nombre peut importe l'étudiant que je choisi
     
     
            cc=cnx.connect();
            st=cc.createStatement();
     
            if(a.equals("activer")){
     
                int re = st.executeUpdate("update etudiants set validation = 1 where id like 'activate_%' ");
            }
     
            else if (a.equals("supprimer")){
     
                int s = st.executeUpdate("delete from etudiants where id like 'delete_%' ");
            }
     
            response.sendRedirect("etud_desac.jsp");
     
            }catch(Exception e){
                e.printStackTrace();
            }

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String a = request.getParameter("activate_<%=rs.getString(1)%>");
    oO d'ou ça sort?


    Tu prends ton request, tu récupère la liste de tous les paramètres disponibles (getParameterNames), et tu regarde si il y en a un qui commence par activate_ et tu agit en fonction


    Bref, du code java tout ce qu'il y a plus classique et simple à coder il me semble. Une logique d'itération et de test.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Points : 51
    Points
    51
    Par défaut
    Wé mais c'est la première fois que je travaille avec les servlets .. , comment faire en même temps avec le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      if(a.equals("activer")){
    ? je comprend pas vraiment comment procéder

Discussions similaires

  1. [AC-2007] Problème pour récupérer valeur entre formulaire
    Par Blado_sap dans le forum IHM
    Réponses: 11
    Dernier message: 05/02/2015, 08h11
  2. Renvoi de valeur entre formulaires
    Par falco40² dans le forum IHM
    Réponses: 1
    Dernier message: 05/10/2007, 18h14
  3. Transfert de valeur entre formulaires
    Par Sodangbe dans le forum IHM
    Réponses: 2
    Dernier message: 15/12/2006, 17h59
  4. [C#] ShowDialog() valeurs entre 2 formulaires
    Par M1000 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 22/05/2006, 17h44
  5. [debutant][servlet]lien entre formulaire et servlet
    Par omega dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 05/03/2004, 08h54

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