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 :

Comment passer des paramètres dans une EL ?


Sujet :

JSF Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut Comment passer des paramètres dans une EL ?
    Je voudrais passer des paramètres à une méthode appelée dans une expression langage.

    J'ai suivi ce tuto : http://wiki.apache.org/myfaces/Param...n_EL_Functions

    En particulier, j'ai adopté la deuxième solution, à savoir l'implémentation d'une Map.

    Ma map est tout à fait ordinaire, je me suis contenté de surdéfinir la méthode get() pour appeler une autre méthode.

    Voici donc mon appel JSF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <h:commandButton action="#{studentController.sequenceMapper[sequence]}"/>
    studentController est un bean spring
    sequenceMapper retourne une instance de ma Map
    sequence est une variable qui pointe sur un enum

    Le problème est que je rencontre une exception : javax.el.MethodNotFoundException:Method not found: {}.etape1()

    etape1 est mon enum.

    J'ai aussi essayé de passer une chaîne en dur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #{studentController.sequenceMapper['sequence']}
    Et là j'ai toujours : javax.el.MethodNotFoundException:Method not found: {}.sequence()

    Donc, c'est un peu comme si mon expression était interprétée comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #{studentController.sequenceMapper.sequence}
    Je voudrais que la méthode get() de ma map soit appelée, avec la séquence en paramètre.

    [NOTA] J'utilise myfaces v.2.0.3

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Finalement, j'ai trouvé une autre solution.

    Au lieu de passer un paramètre dans mon expression, j'utilise un actionListener qui permet d'initialiser un attribut lorsque le bouton est cliqué. Le listener est appelé avant l'action.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:commandButton value="Valider" action="#{perform}">
        <f:setPropertyActionListener value="value" target="#{bean.attribute}"/>
    </h:commandButton>
    J'espère que cela pourra aider quelqu'un

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

Discussions similaires

  1. Comment passer des paramètres dans une requête XPATH
    Par SyLvErStOrM dans le forum BIRT
    Réponses: 18
    Dernier message: 29/04/2011, 11h08
  2. Réponses: 5
    Dernier message: 03/07/2007, 10h31
  3. Réponses: 2
    Dernier message: 11/10/2006, 13h37
  4. Réponses: 1
    Dernier message: 21/03/2006, 14h29

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