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

Struts 1 Java Discussion :

Supprimer une ligne d'un tableau, et MAJ de la BDD


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club Avatar de big x
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2004
    Messages : 53
    Points : 38
    Points
    38
    Par défaut Supprimer une ligne d'un tableau, et MAJ de la BDD
    Bonjour,
    Je dispose d'une jsp contenant une form qui liste dans un tableau un ensemble de personnes.
    Pour chacune d'elles je crée un bouton de suppression associé.

    L'action déclenchée déclenche la méthode "delete" de ma servlet, et récupère l'id (clé primaire) de la personne à supprimer.

    Malheureusement, la méthode request.getParameter("id") de ma servlet me renvoie la première occurence du paramatre "id" dans ma jsp.

    J'aimerais savoir comment je peux m'en sortir pour effacer la bonne personne et non toujours la première??

    Merci d'avance!

    Xavier



    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
     
    <html:form action="ViewPersonnesAction" method="POST">
     
    <html:hidden property="event" value=""/>
     
    <table border="1">
    	<tr>
    		<td>Nom</td>
    		<td>Prenom</td>
    		<td>Adresse</td>
    		<td>Email</td>
    	</tr>
     
    	<logic:iterate name="ViewPersonnesForm" id="liste_id" property="liste">
    	<tr>
    		<html:hidden name="liste_id" property="id" />
    		<td><bean:write name="liste_id" property="nom"/></td>
    		<td><bean:write name="liste_id" property="prenom"/></td>
    		<td><bean:write name="liste_id" property="adresse"/></td>
    		<td><bean:write name="liste_id" property="email"/></td>
    		<td><html:submit property="btn" value="Supprimer" onclick="ViewPersonnesForm.event.value = 'delete';"/></td>
    	</tr>
    	</logic:iterate>
     
    </table>
    </html:form>

  2. #2
    Membre actif Avatar de CaptainCyd
    Inscrit en
    Avril 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2007
    Messages : 201
    Points : 232
    Points
    232
    Par défaut


    moi j'ai fait de la manière suivante.
    A la place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:submit property="btn" value="Supprimer" onclick="ViewPersonnesForm.event.value = 'delete';"/>
    J'ai mis cela :
    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
     
    <script language="javascript" type="text/javascript">
    function enleverReponseTravauxFichier(sId)
    	{
    		reponseLienSubmit('enleverReponseTravauxFichier', sId);
    	}
     
    function reponseLienSubmit(sReqCode, sId)
        {
        	with(document.reponseBean)
    	   	{
    	    	reqCode.value = sReqCode;
    	    	action = action + "?id=" + sId;
    	    	submit();
    	   	}
        }
     
    </script>
     
    <a href="javascript:enleverReponseTravauxFichier('<layout:write layout="false" filter="false" name="idReponseListeTravauxFichier" property="nomFic" />')">
    			  	<bean:message key="reponse.travaux.fichier.btn.enlever" />
    			</a>
    Comment cela fonctionne ?
    Lorsque je clique sur mon lien, j'appelle une fonction javascript dans lequel je passe en param l'id de ma ligne.

    Ma fonction javascript prépare l'url qui va bien pour envoyer les infos qu'il faut à la servlet et fait le submit du formulaire.

    Dans ton cas, la ligne à mettre dans ton code serait celle-ci :
    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
     
    <script language="javascript" type="text/javascript">
    function enleverPersonne(sId)
    	{
    		reponseLienSubmit('delete', sId);
    	}
     
    function reponseLienSubmit(sReqCode, sId)
        {
        	with(document.ViewPersonnesAction)
    	   	{
    	    	reqCode.value = sReqCode; // -> correspond au nom de la variable déclarer dans le struts-config.xml avec pour nom de parametre : parameter dans le tag action
    	    	action = action + "?id=" + sId;
    	    	submit();
    	   	}
        }
     
    </script>
     
    <logic:iterate name="ViewPersonnesForm" id="liste_id" property="liste">
    	<tr>
    		<html:hidden name="liste_id" property="id" />
    		<td><bean:write name="liste_id" property="nom"/></td>
    		<td><bean:write name="liste_id" property="prenom"/></td>
    		<td><bean:write name="liste_id" property="adresse"/></td>
    		<td><bean:write name="liste_id" property="email"/></td>
    		<td><a href="javascript:enleverPersonne('<bean:write filter="false" name="liste_id" property="liste" />')">
    			  	<bean:message key="X" />
    			</a></td>
    	</tr>
    	</logic:iterate>
    Et normalement, dans ta servlet, request.getParameter("id") te renverras le bonne id

Discussions similaires

  1. C++ Supprimer une ligne d'un tableau
    Par gcvoiron dans le forum C++
    Réponses: 17
    Dernier message: 07/11/2007, 16h01
  2. Supprimer une ligne dans un tableau
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/06/2007, 15h14
  3. Réponses: 1
    Dernier message: 24/04/2007, 17h20
  4. [Conception] Supprimer une ligne d'un tableau à partir d'un CHECKBOX
    Par snakejl dans le forum PHP & Base de données
    Réponses: 71
    Dernier message: 30/05/2006, 08h43
  5. supprimer une ligne dans un tableau
    Par sandball22 dans le forum C++Builder
    Réponses: 9
    Dernier message: 16/05/2006, 21h53

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