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 :

Récupération d'un bean en Request


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut Récupération d'un bean en Request
    J'ai des beans déclaré en request en faces-config
    j'ai essayé de les récupérer avec la méthode :
    FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("List");
    mais il pointe toujours sur null
    je veut éviter de modifier mes beans à session parsque si non l'hors d'un nouveau appel il n'y aura pas d'instansiation
    y a t'il une autre solution ,et pourquoi ça n'a pas marché.
    et 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 : 46
    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
    la requestmap contient bien les objet request scope, quand ils sont créés. Seulement, il ne sont créés qu'à la demande (lors du premier accès) pour éviter d'avoir une tartine de beans créés à chaque requête dont au final seulement 2 ou 3 étaient nécessaire. Pour accéder aux bean JSF, il faut toujorus faire comme ceci:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    context.createValueBinding("#{nomDuBean}").getValue(context);

    avec context de type FacesContext.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut
    J'ai réessayé autrement,
    J'ai un bean en scope request, et j'ai une page qui utilise une liste (lié au bean)
    lorsque je fait appelle à une méthode depuis le bean alors il sera ré-instanciée une nouvelle fois : code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <a4j:commandButton action="#{CMD.Test}"  value="Test"/>
    je ne peut pas mettre le bean en session.
    je ne sais pas comment faire pour résoudre ce problème??

  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
    normal le bean est disponible qu'en scope request, après le retour de la reponse le bean est réinitialisé.
    c'est le comportement normal d'une requete HTTP.

  5. #5
    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 : 46
    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
    le bean est instancié une fois par requête. Dans ton cas, une fois lors du rendu de la page, et une deuxième fois quand l'utilisateur soumet les données.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    context.createValueBinding("#{nomDuBean}").getValue(context);
    apparament dans la jdk6 le createValueBinding est deprecated.

    il faudrait utiliser un ValueExpression mais je n'ai pas réussi avec celui la

  7. #7
    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 : 46
    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
    Citation Envoyé par tit0um Voir le message
    apparament dans la jdk6 le createValueBinding est deprecated.
    en JSF 1.2, il suffir de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    FacesContext.getCurrentInstance().getApplication().
        evaluateExpressionGet(
            FacesContext.getCurrentInstance(),
            "#{monBean.maPropriete}",
            TypeAttendu
        );

  8. #8
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Jai plus simple :

    Tu précèdes ta méthode de @SuppressWarnings("deprecation")
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  9. #9
    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 : 46
    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
    Citation Envoyé par romaintaz Voir le message
    Jai plus simple :

    Tu précèdes ta méthode de @SuppressWarnings("deprecation")


    Si ça met des warning d'utiliser la dépréciation, c'est justement pour qu'on ne l'utilise pas! Non seulement tu va utiliser une méthode dépréciée, mais le jour où elle disparaitra définitivement ou ne marchera plus ,tu te plaindra de pas avoir été avertit par le compilateur à cause de ton suppress warning. Si c'est pour quand même l'utiliser, garder le warning!

Discussions similaires

  1. Récupération d'un bean JSF @controler
    Par badreddine540 dans le forum JSF
    Réponses: 5
    Dernier message: 19/05/2009, 11h14
  2. Réponses: 4
    Dernier message: 23/12/2008, 12h18
  3. DataTable et Beans en Request
    Par Jacobian dans le forum JSF
    Réponses: 2
    Dernier message: 02/10/2008, 15h07
  4. JSP Servlet et bean scope request
    Par yodutouf dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 24/09/2007, 08h50
  5. [ Struts ][ Validateur ] récupération d'un bean
    Par sebus dans le forum Struts 1
    Réponses: 6
    Dernier message: 19/05/2006, 17h15

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