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] Lancer une methode apres instantiation du managed bean


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2002
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 186
    Par défaut [JSF] Lancer une methode apres instantiation du managed bean
    salut,
    g un soucis avec un managed bean qui est utilisé avec une seule et meme page qui est utilisée soit pour afficher des données par défaut, soit pour affiche des données en fonction du formulaire transmis. Je n'arrive pas à combiner les 2...

    Un petit rappel:
    Lorque jsf détecte qu'une page jsp a besoin d'un managed bean, alors il l'instancie suivant les parametres fournis dans son faces-config... Ensuite il applique l'injection des propriétés spécifiées (<managed-property>), puis éventuelement, il initialise les propriétés des formulaire et des composants bindés.

    On peut se trouver ensuite dans 2 cas:
    - Si on ouvre une page la 1ere fois (pas de parametres passés...) alors il instancie le constructeur puis initialise les propriétés puis rend immédiatement le bean à la jsp pour accéder aux champs ou aux composants bindés.

    - Si un évenement de l'utilisateur (un lien ou un bouton par ex...) déclenche une action / actionListener, alors le bean est d'abors instancié comme précedement PUIS on appele la méthode correspondante.

    je suis confronté au probleme suivant:
    la 1ere fois que j'accede à la page, je veux remplir les propriétés à afficher par la vue avec des valeur par défaut

    la 2eme fois, suite à une transmission de paramètres par un formulaire, je souhaite remplir les propriétés à afficher de la meme page avec des données qui sont fonction des paramètres transmis

    Or si vous avez suivi l'explication + haut, je ne peux récupérer les paramètres transmis qu'une fois le bean instancié... Du coup je ne peux pas détecter si je me trouve dans une situation ou les paramètres par défaut sont suffisants pour initialier les champs a afficher... Vous allez me dire, dans le constructeur il faut initialiser les données avec leur valeur par défaut, et si suite à une action et appelée, elle va surcharger ses valeurs...
    Sauf que c'est pas propre du tout, et si je dois remonter 2fois des données qui proviennent d'un bdd, ca peut etre lourd


    Donc apres avoir réfléchi, il faudrait trouver une solution pour lancer une méthode juste apres que les propriétés des formulaires soient initialisée par JSF, et juste avant les action()
    Cette méthode consulterait les données du formulaire: si aucune, alors elle utiliserai des parametres par défaut, sinon elle utiliserai les donnée du formulaire pour remplir les données de la vue...


    Je sais qu'en utilisant jsf-spring je peux créer mon bean et lancer une méthode postConstructor, mais elle intervient avant que jsf n'est le temps de remplir les champs transmis du formulaire, donc ca ne m'interesse pas...

    Alors en fouillant un peu, j'ai vu que struts-shale utilise ce concept dans ce qu'il appele les bean ViewControler. Il fait exactement ce que je cherche, sauf que je n'ose pas me lancer dans se framework qui n'est pas encore en release...

    Alors je voudrais savoir ce que vous peznsez de shale, et sinon est ce que vous voyez une solution pour lancer une méthode comme g besoin si dessus.

  2. #2
    Membre éclairé
    Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 89
    Par défaut
    tu veux rester en scope request ?

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2002
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 186
    Par défaut
    et bien oui je veux que tous les controleurs soient en requete, mais j'accepte en + des beans pour le stockage d'info en session (pas d'action donc)...

    g l'impression de m'arreter à des pb conceptuels tout simplement parce que jsf n'est pas vraiment adaptés à tous les cas particuliers.
    Donc en attendant, je vais réaliser toutes le sinitialisations du model dans le constructeur et puis la 2 eme requete surchargera les données dans une méthode action: ca fera le double d'aaces en bdd mais bon...

  4. #4
    Membre éclairé
    Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 89
    Par défaut
    tout en scope request est plus difficile avec jsf et je suis pas sur qu'il faille s'emm... a vouloir absolument tout.
    Autrement La solution des bean springs me parrait plus élégante que les paramètres dans url pour récuperer des choses entre page
    Autrement tes backing bean peuvent avoir des interfaces, et c'est ces interface que tu passe en parametre à d'autre backing bean. Que les données par exemple

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2002
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 186
    Par défaut
    oui je suis d'accord sur le fait que je m'emm... pour rien

    Enfin je comprend mieux pourquoi tous ces framework au dessus de JSF: meme si c'est standardisé, il n'y a aucun cadre de développement pour formaliser les choses, et chacun peu l'implémenter à sa manière...

    merci a+

Discussions similaires

  1. [exel-vba] lancer une Function apres la creation de la feuille
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2008, 10h55
  2. Réponses: 4
    Dernier message: 28/04/2007, 14h50
  3. [C#][Débutant] Comment lancer une methode d'une autre fenetre
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/04/2006, 23h17
  4. forcer l'appel d une methode apres un repaint
    Par ceres02 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 11/03/2006, 00h17
  5. Lancer une methode a heure fixe
    Par Le Veilleur dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/11/2004, 19h52

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