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

JSF Java Discussion :

Comment réinitialiser tout mes beans ?


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 165
    Par défaut Comment réinitialiser tout mes beans ?
    Bonsoir,
    J'aimerais savoir comment réinitialiser tout mes beans, comme à l'état ou on lance notre application de nouveau.
    J'ai trouvé sur un sujet du forum, qu'il était possible de faire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    FacesContext.getCurrentInstance().getApplication().createValueBinding("#{bean.property}").
                    setValue(FacesContext.getCurrentInstance(), new MonBean());
    Sauf que ça marche pour un seul bean uniquement à la fois. Et je ne sais pas quoi mettre à la place de : #{bean.property}.
    Comment faire ? Merci.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ce n'est pas prévu par jsf.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 165
    Par défaut
    Merci pour votre réponse.
    Si ce n'est pas possible en JSF, il me reste deux solutions : Soit utiliser le code que j'ai cité (dans ce cas je ne sais pas comment m'y prendre) ou modifier dynamiquement cette ligne du fichier web.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <context-param>
            <param-name>com.icesoft.faces.concurrentDOMViews</param-name>
            <param-value>false</param-value>
    </context-param>
    Je suppose qu'il n'est pas possible de le modifier manuellement.

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Sinon il est possible de réinitialiser la session, donc, toues les beans session seront réinitialisés.

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 165
    Par défaut
    C'est ce que je cherche. Comment faire s'il vous plait ? Merci.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    HttpSession  sess = (HttpSession)FacesContext.getCurrentInstance().getExternalContext.getSession(false);
    if (sess!=null)
        sess.invalidate();

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 165
    Par défaut
    Bonjour,
    Merci pour ce bout de code, je l'ai essayé mais cela n'a pas fonctionné. La session n'est pas réinitialisé, j'ai toujours les mêmes valeurs de l'ancienne connexion.
    Si je me connecte avec login1 et ensuite je me déconnecte et me connecte avec login2, les informations du login1 sont présent et ceux du login2 absents.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    c'est que tes bean ne sont pas session scope, ou que tu remet des valeurs dedans avant de terminer la requete qui invalide.

  9. #9
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 165
    Par défaut
    Ils sont bien en scope session. Je clic sur deconnect :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <ice:form>
    <ice:commandButton  id="deco" image="images/sign-out.png" action="#{users.deconnect}" />
    </ice:form>
    Qui appel cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    public String deconnect(){
     
            HttpSession  sess = (HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false);
            if (sess!=null)
                sess.invalidate();
     
            return "INDEXX";
        }
    Avant je faisais cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public String deconnect(){
     
            this.visible_compte = false;
            this.visible_login = true;
            this.idClient = 0;
            this.login = "";
            this.pass = "";
            this.client = null;
     return "INDEXX";
        }
    Si c'était possible de faire cela tout rentrerais dans l'ordre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <context-param>
            <param-name>com.icesoft.faces.concurrentDOMViews</param-name>
            <param-value>#{users.refresh}</param-value>
    </context-param>

Discussions similaires

  1. [Débutant] Objet commun utilisé dans toutes mes pages. Comment faire ?
    Par Pynouz dans le forum ASP.NET
    Réponses: 9
    Dernier message: 29/09/2011, 09h07
  2. Comment faire une jointure sur toutes mes tables
    Par vevere dans le forum Requêtes
    Réponses: 1
    Dernier message: 23/03/2011, 14h09
  3. Comment réinitialiser tous mes champs
    Par DevServlet dans le forum JSF
    Réponses: 2
    Dernier message: 20/08/2009, 16h41
  4. Réponses: 6
    Dernier message: 22/08/2006, 15h37
  5. comment modifier la couleur de toutes mes forms
    Par korntex5 dans le forum Delphi
    Réponses: 3
    Dernier message: 08/08/2006, 15h29

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