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 :

problème de réexecution du code de la servlet


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 231
    Points : 67
    Points
    67
    Par défaut problème de réexecution du code de la servlet
    salut tout le monde;
    je cherche vraiment mon sauveur de ce gros problème :
    Lorsque je supprime un produit de la page (AllProduit.jsp) , et je revient à la jsp qui affiche tous les produits (AllProduit.jsp) il apparait encore le produit que j'ai déja supprimé or le produit a déja été supprimé de la base de données(je l'ai vérifié moi même).
    voici le code de la page AllProduit.jsp qui affiche tous les produits présents dans la table produit et le code de RemoveProduitServlet qui s'occupe de supprimer le produit.

    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
    AllProduit.jsp
    <%
            List c=(List)request.getAttribute("result");     //c'est la liste des produits récupérés d'une servlet
            Iterator it = c.iterator();
            while(it.hasNext()) {
    	
                Produit p = (Produit)it.next();
                   
           	%>
            <tr rows=22>
            <center> 
            </div>
            <form name="produitform" action="RemoveProduitServlet">
         
           <td align=center ><b><a href = "RemoveProduitServlet?idp=<%=p.getId>"> <%=p.getNom()%> </a> </td> 
           
           <td align=center ><b><%=  p.getDescription() %></td>
            <td align=center ><b><%= p.getImage() %></td>
    </form>      
    </div>
                  <%
                    }
                  %> 
    
    RemoveProduitServlet
    
    String idp=(String) request.getParameter("idp");
    Produit produit=produitFacade.find(idp);
    produitFacade.remove(produit);

  2. #2
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Points : 368
    Points
    368
    Par défaut
    S'il est effectivement supprimé de la base de données alors il y a un problème avec "result". Est-il mis à jour ? Est-il en session ?

  3. #3
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 231
    Points : 67
    Points
    67
    Par défaut
    comment le mettre à jour????????????????????

  4. #4
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Points : 368
    Points
    368
    Par défaut
    Hum,

    Ce que tu dois faire normalement :

    Tu as une action qui renvoie sur la JSP AllProduit et qui met dans la request "result". Ensuite tu appelles l'action RemoveProduitServlet où tu supprimes ton produit. C'est ici que tu dois remettre "result" dans la request (récupérer via la base par exemple) et tu renvoies vers ta page AllProduit.

  5. #5
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 231
    Points : 67
    Points
    67
    Par défaut
    merci pour votre réponse;
    ça serait gentil si vous pouvez me donner un exemple, (ce que je dois mettre comme code dans la servlet et dans la page jsp), qui permet de résumer ce tout que vous avez dit.
    merci infiniment de sauver un être en détresse.

  6. #6
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 231
    Points : 67
    Points
    67
    Par défaut

    de l'aide svp.

  7. #7
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 231
    Points : 67
    Points
    67
    Par défaut
    en fait; même si je refais l'appel du code de la page JSP rien ne change et l'affichage des produits ne s'actualise pas.
    merci.

  8. #8
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Points : 368
    Points
    368
    Par défaut
    Il y a deux possibilités :

    1. Soit ta suppression ne marche pas.
    2. Soit tu ne réactualises pas correctement.

    En gros tu dois faire quelque chose comme ça pour afficher la vue des produits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    doGet {
        List resultat = produitFacade.findAll();
        request.setAttribute("resultat", resultat);
        forward("AllProduit.jsp");
     
    }
    Pour la méthode de suppression tu dois faire la même chose que tu as fait plus ajouter le code au dessus.

    Je ne peux pas t'aider plus sans plus de code ou d'information. Je te conseils de lire les tutoriaux de base sur les JSP et Servlet. Bonne chance.

  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
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Il faudrait déjà savoir comment tu reviens sur la page (liste).
    Si tu fais un "back" du navigateur, c'est le cache qui est utilisé, donc, il parait normal que la page ne soit pas à jour...
    Jouer avec le cache (via les pragma no-cache et cie) risque d'être relativement aléatoire mais ça pourrait suffire, il faudrait essayer.
    (Tu vas avoir le message d'avertissement à chaque fois que tu fais back par contre)

    A+

  10. #10
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 231
    Points : 67
    Points
    67
    Par défaut
    C'était bien un problème de cache.

    Pour résoudre le problème j'ai du rajouter les la ligne en gras ci-dessous dans le fichier persistance.xml

    <persistence-unit name="Model">
    <properties>
    <property name="toplink.cache.type.default" value="NONE"/>
    </properties>
    </persistence-unit>


    Merci pour tout !

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

Discussions similaires

  1. Rexecuter un code
    Par arsenik7 dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 12/04/2006, 17h29
  2. Problème d'execution de code dans un thread
    Par [Silk] dans le forum Langage
    Réponses: 2
    Dernier message: 06/02/2006, 13h49
  3. [Debugger] Problème de traçage de code
    Par vinny_the_true dans le forum MFC
    Réponses: 2
    Dernier message: 19/12/2005, 00h21
  4. [VB.net]problème de conversion de code c# vers VB.net
    Par cladsam dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/10/2005, 14h07
  5. Réexecuter le code si précédent
    Par magicbart dans le forum Apache
    Réponses: 7
    Dernier message: 20/07/2004, 10h04

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