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 :

Problème d'instanciation de bean


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Par défaut Problème d'instanciation de bean
    Salam,
    Je vous explique ce que je veux faire:
    J'ai un bean ClientBean qui gère des clients, et un bean ProjetBean qui gère leurs projets.
    Je voudrais pouvoir clicker sur un commandLink dans la dataTable remplie par le bean ClientBean et qui liste les clients, pour pouvoir voir ses projets dans une autre page ou il y'a une dataTable remplie par le bean ProjetBean et qui liste l'ensemble des projets de ce client.

    Je mets l'attribut clientId dans une HttpSession que je récupère sans problème pour pouvoir chercher les projet de ce client.
    Dans le constructeur de ProjetBean j'exécute la méthode listProjets() qui liste les projets d'un client pour que le dataTable soit remplie au chargement de la page.
    La page jsf instancie le bean ProjetBean une seule foi, donc la méthode listProjets est exécutée une seule foi, par conséquent la dataTable des projets n'est pas mise à jour.
    J'ai essayé d'instancier le ProjetBean dans ClientBean, mais la liste des projets serait vide, parceque la page jsf instancie elle meme ProjetBean.

    Je voudrais savoir s'il y a une facon de faire pour qu'une methode soit éxécutée au chargement de la page.
    Toute proposition pour une autre alternative est la bienvenue.
    Merci d'avance.

  2. #2
    Membre confirmé Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Par défaut
    Salam,
    A fine a brad ça va ?

    essaie de rendre ton projetBean scope à request pas à session.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 22
    Par défaut
    Dans ta datatable "Clients" liée à ton bean ClientBean, tu dois avoir un lient de type commandLink. Pour ce qui est du passage de paramètrage, tu passe l'id de ton client via la commande suivante par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:commanLink action="projets" actionListener="#{projetbean.initProjetlist}">
          <t:updateActionListener property="#{projetbean.clientId}" value="#{var.id}" />
    </h:commandLink>
    Après, dans l'actionListener de ton projetbean, tu récupère "clientId" qui va te permettre de récupérer la liste de tes projets.


    PS : normalement, un bean n'a pas de constructeur, tu dois laisser le contaxte gérer ton "managed" bean

Discussions similaires

  1. [JSP-Bean] Probléme d'instanciation d'une classe !
    Par adil_vpb dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 02/03/2007, 19h29
  2. [Security] Probléme de chargement des bean ??
    Par linniesurf dans le forum Spring
    Réponses: 1
    Dernier message: 03/07/2006, 17h15
  3. problème pour instancier une class
    Par gronaze dans le forum C++
    Réponses: 8
    Dernier message: 30/06/2006, 12h21
  4. [JSP] Problème pour accéder à un bean venant d'une servlet
    Par GLDavid dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/06/2006, 09h43
  5. [Débutant] Problème de récupération valeurs Bean
    Par DanZzz dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/08/2005, 20h27

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