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 :

probleme de suppression d'un champ BD a partir d'une page jsp


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Par défaut probleme de suppression d'un champ BD a partir d'une page jsp
    bonjours tous le monde,
    j'ai une page jsp qui fait l'affichage sous forme d'un tableau dynamique la liste des clients a partir d'un table Client et dans chaque ligne se trouve un forme a la quelle on peut choisir entre modifier et supprimer le champ correspondant.
    pour cela j'ai essayer avec le code suivante:
    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
    <table border="0" cellpadding="0" cellspacing="0" align="center" width="1006" height="228">
         <tr>
         <th>login</th>
         <th>pass</th>
         <th>nom</th>
         <th>prenom</th>
         <th>email</th>
         <th>genre</th>
         <th>date inscription</th>
         <th>operation</th>
         </tr>
         <%    
            for(int k=0;k<vv.size();k++)
            {%>
      	<tr>
          <td align="center"><%=a[k].getLogin() %></td>
          <td align="center"><%=a[k].getPass()%></td>
          <td align="center"><%=a[k].getNom()%></td>
          <td align="center"><%=a[k].getPrenom()%></td>
          <td align="center"><%=a[k].getEmail()%></td>
          <td align="center"><%=a[k].getGenre()%></td>
          <td align="center"><%=a[k].getDateInscri().toString()%></td>
          <td align="center"><html:form action="/consclient">
    			<html:select property="op" name="op" value="choisir tache"><html:option key="modification" value="modification" /><html:option key="suppression" value="suppression" />
    			<%request.getSession().setAttribute("v",a[k].getLogin()); %></html:select><html:errors property="op"/>
    			<html:submit/>
    		</html:form>  </td>
     
                </tr>
          <%} %>
    mais le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%request.getSession().setAttribute("v",a[k].getLogin()); %>
    envoie le login du dernier client (et c'est evident) comment je peut modifier mon code, pour qu'il fonctionne correctement ???
    voila la methode ActionForward execute(..) de la classe action:
    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
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response) {
    		ConsclientForm consclientForm = (ConsclientForm) form;
    		String op=consclientForm.getOp();
    		ClientDAO cdao=new ClientDAO();
    		List vv=cdao.findAll();
    		//Client c=new Client();
    		String ht=(String)request.getSession().getAttribute("v");
    		if(op.equals("modification"))
    				return mapping.findForward("ok");
    		else
    		{
    			cdao.delete(cdao.findById(ht));
    			return mapping.findForward("nonok");
    		}
    	}
    merci à tous .

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 12
    Par défaut
    Au lieu de mettre le client a supprimer en session, tu devrais utiliser un input caché (<input type="hidden"> ou <html:inputSecret) avec comme valeur ton "a[k].getLogin()".
    Ensuite, tu dois pouvoir le récupérer dans l'action (après l'avoir rajouté dans ton objet consclientForm).

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Par défaut
    merci.
    mais la problème restera la même vu que pour le <input type="hidden"> je lui affecterai comme valeur l'indice du client a supprimer donc la problème reste la même!!!!
    sinon pouvez me donner le code complet????(juste le truc de <input type="hidden" ????>
    merci encore.

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 12
    Par défaut
    Ton formulaire devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <html:form action="/consclient">
    <html:select property="op" name="op" value="choisir tache">
    <html:option key="modification" value="modification" />
    <html:option key="suppression" value="suppression" />
    </html:select>
    <html:errors property="op"/>
    <html:inputSecret name="loginPourSuppression" value="<%=a[k].getLogin() %>">
    (ou <input type="hidden" name="loginPourSuppression" value="<%=a[k].getLogin() %>">)
    <html:submit/>
    </html:form>
    Et dans ton ConsclientForm, tu rajoutes l'attribut loginPourSuppression.
    Comme ça, dans ton action, tu as juste a faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    String ht=consclientForm.getLoginPourSuppression();
    if(op.equals("modification"))
    	return mapping.findForward("ok");
    else
    {
    	cdao.delete(cdao.findById(ht));
    	return mapping.findForward("nonok");
    }

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Par défaut
    merci psycocouac,
    le probleme c'est que le TOMCAT affiche un msg d'erreur
    a la quelle on comprend que l'expression value="<%=a[k].getLogin() %>" est incorrect!!

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 09/07/2010, 14h32
  2. Réponses: 7
    Dernier message: 05/10/2009, 10h52
  3. modification d'un champs avec un popout, ds une page jsp
    Par sallemel dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 05/02/2009, 10h06
  4. Contrôle sur les champs d' une pages JSP
    Par amine1980 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 06/03/2007, 08h38
  5. [STRUTS] probleme de compilation d'une page JSP
    Par XristofGreek dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 31/03/2005, 17h48

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