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 :

[JSF] utilisation d'un bean global


Sujet :

JSF Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 41
    Points : 42
    Points
    42
    Par défaut [JSF] utilisation d'un bean global
    Bonjour,
    Je souhaite utiliser un managed bean de portée globale (application) dans un bean de portée request. En fait , il s'agit de récupérer des informations de login et de les enrichir ensuite.

    J'ai donc un managed-bean user info

    une page de login.jsp avec son bean associé login.java

    Je souhaite simplement récupérer l'instance globale de UserInfo.

    Merci à tous

    Je fais ça :
    FacesContext ctx=FacesContext.getCurrentInstance();
    Application app=ctx.getApplication();
    ValueBinding bind=app.createValueBinding("#{user}");
    System.out.println(bind.getType(ctx));
    System.out.print(bind.getValue(ctx));
    UserInfo user;
    try {
    user = (UserInfo)bind.getValue(ctx);
    System.out.println(user.getPassword());
    } catch (Exception ex) {ex.printStackTrace();};
    return null;
    Mon bean est de la classe UserInfo et l'instance globale s'appelle user.

    Je récupère une erreur de cast alors que le getType est OK ..... il me renvoie :
    06/08/22 10:46:44 java.lang.ClassCastException: UserInfo
    06/08/22 10:46:44 at userinterfacejsf.backing.Login.btLogin_action(Login.java:130)

  2. #2
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 120
    Points : 106
    Points
    106
    Par défaut
    Ou veux-tu récupérer l'instance ? Dans ta jsp ou ton bean ?

    Ton bean userInfo a quel scope ?

  3. #3
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 41
    Points : 42
    Points
    42
    Par défaut
    Non dans le bean, dans le JSP/JSF je ne rencontre aucun probleme....
    Le bean user info a un scope session....

    J'arrive à récupérer les attributs de la classe comme userLogin ou mdp qui sont des String par le binding "#{user.userLogin}" .

    Mais je souhaiterais récupérer l'instance de la classe car j'ai une méthode validateLogin() qui me renvoie un boolean.

  4. #4
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 41
    Points : 42
    Points
    42
    Par défaut [resolu] Probleme de casting...... certainement
    La solution est la suivante:

    public String btConnect_action() {
    FacesContext ctx = FacesContext.getCurrentInstance();
    Application app = ctx.getApplication();
    UserInfo userinfo = (UserInfo) app.createValueBinding("#{userinfo}").getValue(ctx);

    if (userinfo.isValidated()) return "success";
    else return null;
    }

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/09/2010, 18h43
  2. [JSF] utiliser le même bean sur 2 pages
    Par iviath dans le forum JSF
    Réponses: 6
    Dernier message: 11/12/2008, 19h05
  3. [JSP]utilisation d'un Bean
    Par WalidNat dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 11/02/2006, 18h29
  4. Supprimer la mémoire utilisée par les variables globales
    Par dnaprotector dans le forum OpenGL
    Réponses: 4
    Dernier message: 21/07/2005, 13h18
  5. utilisation d'une variable globale
    Par ZZ dans le forum ASP
    Réponses: 3
    Dernier message: 03/12/2003, 19h11

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