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 :

Données modifiées et qui reviennent après de nulle part


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 25
    Points : 13
    Points
    13
    Par défaut Données modifiées et qui reviennent après de nulle part
    Bonjour,

    Je vous écris aujourd'hui, ayant besoin de votre aide.

    Je rectifie le dernier problème que j'ai pour mon projet de fin d'étude en JEE, struts et hibernate.
    Voila je vais décrire mon problème brièvement et âpres vous laisser avec les code des pages sollicité :

    J'affiche la liste des utilisateur en exécutant le code java suivant:

    InnitSuppUser.java: // Qui initialise la page d'affichage des utilisateur qui me sert a modifier et supprimer des utilisateur.
    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
     
    public class InitSuppUser extends org.apache.struts.action.Action {
     
        /* forward name="success" path="" */
        private static final String SUCCESS = "LienSuppUser";
         private static final String FAILURE = "deniedaccec";
     
        /**
         * This is the action called from the Struts framework.
         * @param mapping The ActionMapping used to select this instance.
         * @param form The optional ActionForm bean for this request.
         * @param request The HTTP Request we are processing.
         * @param response The HTTP Response we are processing.
         * @throws java.lang.Exception
         * @return
         */
        @Override
        public ActionForward execute(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {
             String log = new String();
     
    log= (String) getServlet().getServletContext().getAttribute("login");
    if(log!=null)
    {
     
     
             Session session = HibernateUtil.getSessionFactory().getCurrentSession();
     
            try {
     
                System.out.println("Je suis la debut try");
                session.beginTransaction();
                /*List list=session.createCriteria(User.class).list();
                ArrayList<User> Lusers=(ArrayList<User>) list;*/
     
     
                Query query = session.createSQLQuery("SELECT u.`REF_USER`, u.`LOGIN`, u.`PASSWORD`,tu.`TYPE`,t.`NOM_UNITE` FROM `user` u,`unite` t,`type_user` tu WHERE u.`CODE_UNITE`= t.`CODE_UNITE` AND tu.`PB_TYPE`= u.`PB_TYPE`");
     
                //Je recupere le resultat et je le met dans une Arraylist
                ArrayList Lusers =(ArrayList) query.list();
     
     
               // J'utilise ca pour afficher le contenu de ma requette.
               /*
                  List list=session.createCriteria(User.class).list();
                Iterator it = list.iterator();
     
                  while(it.hasNext())
                  {
     
                   User u = (User)it.next();
                 System.out.println(u.getLogin());
     
                   }*/
     
                  //Je passe L'arraylist en paramatre a ma page JSP
               request.setAttribute("users",Lusers);
     
                System.out.println("Je suis à la fin try");
                 } catch (Exception e) {
                e.printStackTrace();
            }
     
            //En cas de resussite je fait appel a l'action InitSuppUser qui m'affiche les liste des utilisateurs
            return mapping.findForward(SUCCESS);
     
        }
    else
              return mapping.findForward(FAILURE);
     
        }
    }
    Je passe donc une Arraylist a cette page

    SuppUser.jsp:
    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
     
    // J'ai ca en haut de la page 
    <jsp:useBean id="SuppUserForm" scope="request" type="com.myapp.struts.SuppUserForm"></jsp:useBean>
     
     
    //Dans ma page JSP j'ai le bout de code suivant
    //Je reçoit une Arraylist de la Servlet et j'affiche la liste des utilisateurs
    <c:forEach var="user" items="${users}">
    		<tr>
    	 <th class="spec"><c:out value="${user[1]}"/></th>
             <td><c:out value="${user[2]}"/></td>
             <td><c:out value="${user[3]}"/></td>
             <td><c:out value="${user[4]}"/></td>
     
             <td><a href="<c:url value="/LienModifUser.do?id=${user[0]}"/>"><img src="./css/images/reglage.png" alt="Modifier" /></a></td>
             <td><a href="<c:url value="/suppUser.do?id=${user[0]}"/>"><img src="./css/images/delete.png" alt="Supprimer" /></a></td>
    	</tr>
            </c:forEach>
    Apres Modification d'un utilisateur je renvoi l'admin à la Page SuppUser.jsp bien sur en exécutant la servlet initSuppUser.java pour aller chercher les utilisateurs dans la base.

    Le résultat s'affiche Bien dans ma Page SuppUser.jsp avec les modifications que j'ai faites sur un utilisateur.


    Pour Faire beuger mon Application ( tester)
    J'ai un Bouton dans le code et le suivant:

    Bouton : Modifier/Supp Utilisateurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="<%=request.getContextPath() %>/LienSuppUser.do">Modifier/Supp Utilisateurs</a>
    Struts recupere ce lien :

    Struts-config.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // struts recupere l'action et execute la servlet initSuppUser precedente
    <action
    path="/LienSuppUser"
    name="SuppUserForm"
    scope="request"
    type="com.myapp.struts.InitSuppUser"
    validate="false"
    />
    La Servlet InitSuppuser.java ne fait qu'Initialiser L'interface Web SuppUser.jsp avec la liste des utilisateurs se trouvant dans la base.

    OK Mnt pour tester j'appuis sur

    Bouton : Modifier/Supp Utilisateurs

    La après quelque Clic les anciens enregistrements reviennent de nulle part et la J'ai les ancien login que j'ai modifié et que après vérification elles sont bien changer dans ma base.

    Encore quelque clic et la j'ai mes nouveau enregistrement que j'ai modifié qui reviennent et rebelote des clics sur le bouton et les anciens enregistrements reviennent d'autre clic font afficher les nouveau enregistrement pourtant dans ma base j'ai bien les nouveau enregistrement.


    Tout mon projet subie ce bug gênant, qui pour l'entreprise signifie un Echec de mon projet.

    J'ai testé, Je me déconnecte de l'application et je reviens toujours le même problème, le seul moyen étais de relancer Tomcat Apache et la plus aucun problème jusqu'à une nouvelle modification ou d'un ajout d'une données toujours le même problème.

  2. #2
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 76
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    Je ne sais pas si j'ai très bien compris mais peut être qu'il faut juste qu'après ton submit du reviens sur la page que tu désire ET que tu recharges les champs avec ceux en base qui viennent d'être modifié.

    En d'autres termes est-ce que tu synchronises bien les données en base et ce que ta page affiche à tout moment?

  3. #3
    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
    Je penche pour un problème de session.
    Je n'ai vu nul part une fermeture de la session après usage.

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par jawad62 Voir le message
    Bonjour,

    Je ne sais pas si j'ai très bien compris mais peut être qu'il faut juste qu'après ton submit du reviens sur la page que tu désire ET que tu recharges les champs avec ceux en base qui viennent d'être modifié.

    En d'autres termes est-ce que tu synchronises bien les données en base et ce que ta page affiche à tout moment?
    bonsoir, merci pour votre suggestion,

    je pourrais savoir vous voulez dire par quoi, Synchroniser ?


    on utilise.

    Hibernate, struts.

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Je penche pour un problème de session.
    Je n'ai vu nul part une fermeture de la session après usage.
    Effectivement, j'ai remarqué que je ne suis pas entrain de fermer les sessions, je vais peut être regardé de ce coter la, sinon aujourd'hui c'était une catastrophe coter entreprise, ou ils on tester, et a chaque foi les données reviennent, puis disparaissent, c'était pour nous comme si 4 mois on n'a fait rien pour eux

    J'attends d'autre suggestion, d'autre possibilité, peut être dans les bean, car coter base de données, on vérifie toujours les données sont soi modifier avec succès soit un ajout ou suppression avec sucée, Mais si vous me dite alors d'ou ils sortent les données supprimer je vous dis direct de nulle part.

Discussions similaires

  1. [XHTML 1.0] Comment insérer un lien qui disparaît après une date donnée
    Par markfish55 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/11/2011, 12h20
  2. Réponses: 2
    Dernier message: 18/05/2010, 12h36
  3. [Data] [Spring][Hibernate] Données modifiées en base après une lecture
    Par Logan Mauzaize dans le forum Spring
    Réponses: 0
    Dernier message: 11/09/2009, 16h07
  4. Réponses: 2
    Dernier message: 08/05/2008, 07h24
  5. Variable qui change après un DispatchMessage
    Par SekYo dans le forum Windows
    Réponses: 9
    Dernier message: 30/09/2004, 16h22

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