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écuperer un UIComponent par son ID


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par défaut Récuperer un UIComponent par son ID
    J'ai un comportement bizarre:

    avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UITreeRenderer renderer=new UITreeRenderer();
     renderer.displayTree(context.getViewRoot());
    HtmlInputText input=(HtmlInputText)context.getViewRoot().findComponent ("input_password_first");
    le renderer produit une fenetre Swing et un JTree qui me permet d'explorer le ViewRoot, et de voir les ID. De ce fait je retrouve mon input dans l'arbre avec le bon ID.

    Cependant la méthod findComponent renvoie null

    Suis je fou ?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Par défaut
    Il ne trouve pas ton id en faites. tu es sur que dans ta page ton id est bien celui ci (n'oublie pas que jsf pour l'id fait idForm:idView:tonId)

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par défaut
    ben dans la javadoc ils expliquent comment retrouver un UIComponent est on peu utilisé l'id simple du composant, ou un chemin relatif;

    Donc si j'ai bien compris ca devrait fonctionner.

    Au final j'ai parser l'arbre à la main pour récupérer mon composant (c'est un peu dommage quand meme).

    Si effectivement il faut conserver tout le chemin, je vois pas comment faire, pour fournir l'ID; ca serait pénible.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Par défaut
    sinon il me semble que sur ton composant tu dois avoir une methode getClientId(facescontext) qui devrais te renvoyer l'id de ton composant courant. ça peut peut etre t'aider (Bine qu'en faite je vois pas trop en quoi ça peut t'aider )

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par défaut
    C'est pas grave je finirais bien par trouver la solution un jour.
    En attendant on bidouille (délais obligent).

    Sinon je te tiens au courant (alex aussi), le jour ou je résoud mes prb de facet header, programmatique; promis

Discussions similaires

  1. récuperer un component par son nom
    Par subzero01 dans le forum Débuter
    Réponses: 5
    Dernier message: 13/07/2009, 12h42
  2. [DLL] Acces a une methode par son index de maniere dynamique
    Par Clorish dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 11/03/2005, 17h14
  3. Accéder à un serveur linux par son nom
    Par flatron dans le forum Réseau
    Réponses: 6
    Dernier message: 01/07/2004, 14h27
  4. Réponses: 4
    Dernier message: 06/06/2004, 12h07
  5. Réponses: 2
    Dernier message: 10/05/2004, 11h20

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