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 :

Appeler une méthode lors de l'affichage d'une page XHTML


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 42
    Points : 20
    Points
    20
    Par défaut Appeler une méthode lors de l'affichage d'une page XHTML
    Bonjour tout le monde,

    j'ai plusieurs pages XHTML et un seul managedBean que j'aimerai ne pas séparer en plusieurs managedBean.

    Ces pages permettent d'effectuer des recherches et j'aimerai faire une recherche par défaut lors de l'affichage de la page.

    J'ai donc besoin d'appeler une méthode précise lors du chargement de chaque page. Actuellement j'utilise le constructeur du managedBean mais du coup, la recherche par défaut est toujours la même.

    Y a-t-il un moyen de faire ce que je veux sans utiliser un managedbean par page ?

    merci par avance.

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Bonjour,
    Oui c'est possible, tu peux passer un paramètre à ton managedBean au chargement de la page, lequel sera utilisé pour initialiser ta page avec le bon chargement.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Et comment je fais au chargement de la page ?
    As-tu un exemple s'il te plait ?

  4. #4
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Non pas sous les yeux, mais tu vas y arriver, il faudrait au moment de l'appel à ta page tu passes un paramètre dans ton url, et dans ton controleur tu recupères ton paramètre ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Objet monParam =FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("monAttribut");
    ...
    et après tu en fais ce que tu veux.

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Oui ça je l'utilise déjà pas mal avec des commandButton
    C'est justement la partie XHTML qu'il me manque, je vais continuer mes recherches alors.

  6. #6
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Pour transmettre un paramètre dans une page xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:param name="nomVar" value="maValeur" />
    , t'es pas très google toi

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Haha si si, d'ailleurs j'ai essayé ça mais cela me renvoie toujours null

  8. #8
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Montre nous le code de la page dans laquelle tu fais l'appel et le code de ton constructeur

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    J'utilise cette méthode pour passer des valeurs en paramètre avec des commandButton. Aucun problème, je récupère bien mes valeurs.

    En fait ce que je ne trouve pas, c'est comment l'inclure au chargement de la page. Si je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:param name="action" value="delete" />
    au début de la page, il n'est pas pris en compte.

    <f:param> n'est pas fait pour passer des paramètres à l'intérieur d'un composant ?

  10. #10
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Mais non ce n'est pas au chargement de ta page qu'il faut passer ce paramètre, car ton constructeur est déjà appelé, et la page se charge avec les valeurs du constructeur initialisés. Lis bien ce que j'ai dit au dessus, d'où pars tu pour appeler la page que veux voir au final? c'est de la page appelante que tu dois initialiser ton paramètre.

  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Merci pour ta précision mais je n'ai pas de page appelante.
    J'ai vu pour le passer en paramètre dans l'adresse c'est bon.

    je pensais pouvoir y arriver lors du chargement... Merci en tout cas

  12. #12
    Membre régulier Avatar de azassma
    Femme Profil pro
    Ph.D - Computer Vision
    Inscrit en
    Avril 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ph.D - Computer Vision
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 159
    Points : 118
    Points
    118
    Par défaut
    Essayez de mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     @PostConstruct
        public void init() {
    -
    -
    -
    -
    }

    dans ton managedBean, vous allez déffinir tous les méthode que vous voulez qu'elles soient appelées lors du chargement du managedBean.

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/09/2012, 15h04
  2. Réponses: 4
    Dernier message: 19/07/2009, 13h51
  3. Réponses: 3
    Dernier message: 20/04/2009, 09h13
  4. Appeler une méthode lors d'un ENTER avec javascript
    Par shirya dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 22/01/2007, 21h32
  5. affichage d'une progressbar lors de l'execution d'une requete
    Par RodEpsi dans le forum Bases de données
    Réponses: 30
    Dernier message: 13/12/2006, 11h53

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