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 :

Passer un paramètre à un bean en request ou setter une property d'un bean en session


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 129
    Par défaut Passer un paramètre à un bean en request ou setter une property d'un bean en session
    Bonjour.

    Petite question de débutant :
    Imaginons que j'ai deux pages, la première (page1) devant appeler la seconde (page2) en lui transmettant des paramètres.
    Est ce que c'est "mauvais" d'utiliser un bean en session pour le bean de la page 2 et de lui setter des property à partir du bean de la page1 en utilisant quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private Page2Bean page2Bean = (Page2Bean) FacesContext.getCurrentInstance().getApplication()
    	.getELResolver().getValue(elContext, null, "Page2Bean");
     
        public String doSomething(){
            page2Bean.setParameter1("JUST_A_PARAMETER");
            page2Bean.setParameter2("JUST_ANOTHER_PARAMETER");
        	return "doSomething";
        }
    Je sais que je peux passer directement des paramètres en utilisant un bean en "request" mais je me demande si ce que j'ai expliqué ci-dessus risque de m'apporter des soucis?

    Merci.

  2. #2
    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
    si ton bean est en session, il suffit d'utiliser le valueBinding dans la page 2 comme dans la page 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:inputText value="#{bean.property}" />

    concernant la session, ça dépend de la taille de ton bean, mais, si la session existe c'est qu'on peut y mettre quelque chose..

    pour le bean en request, tu peux récupérer ses valeurs directement dans l'action ou l'actionListener, si ce n'est pas le même objet et que tu veux récupèrer un autre objet JSF, la solution est proposée sur la .

  3. #3
    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 : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Il n'y a rien de dangereux à utiliser des beans session, ou encore de partager un bean sur plusieurs pages, comme tu le fais dans ton exemple.

    Le seul problème avec les beans sessions, c'est qu'ils conservent généralement trop longtemps les informations... Du coup, il est souvent nécessaire de les purger (tout ou partie) manuellement (en settant les données à null par exemple).
    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

  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
    Citation Envoyé par romaintaz Voir le message
    Le seul problème avec les beans sessions, c'est qu'ils conservent généralement trop longtemps les informations... Du coup, il est souvent nécessaire de les purger (tout ou partie) manuellement (en settant les données à null par exemple).
    exact

    ou utiliser le composant richfaces <a4j:keepAlive/> qui garde le bean en session pendant un temps donné ou juste pour les interactions ajax.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 129
    Par défaut
    Merci pour vos explications

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

Discussions similaires

  1. passer un paramétre d'un bean à un autre
    Par hassantaha dans le forum JSF
    Réponses: 1
    Dernier message: 17/05/2013, 12h36
  2. Passer en paramètre d'un bean les champs d'un formulaires
    Par farid69 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 17/02/2013, 12h36
  3. Réponses: 9
    Dernier message: 08/05/2011, 09h03
  4. passer des paramètres à un bean
    Par rhani-sama dans le forum JSF
    Réponses: 2
    Dernier message: 03/09/2008, 13h01
  5. Réponses: 1
    Dernier message: 29/05/2006, 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