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 :

pb sur un <a4j:commandButton>


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de Seb19
    Homme Profil pro
    Concepteur SOA
    Inscrit en
    Septembre 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Concepteur SOA

    Informations forums :
    Inscription : Septembre 2005
    Messages : 217
    Par défaut pb sur un <a4j:commandButton>
    Bonjour,

    Je rencontre un petit problème sur l'appel de deux actions à partir d'un bouton (cf ci dessous le code du bouton et du bean).
    La méthode validerSaisie permet d'enregistrer les données de la page en cours tandis qu'afficherSuivant permet d'initialiser les valeurs pour la page suivante.
    Il semble que la methode de l'actionListener soit exécutée avant celle de l'action.
    Y a-t-il un moyen pour faire l'inverse ?


    Dans la JSF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <a4j:commandButton id="submitPage" image="/img/boutons/btnSuivant.png'}" value="Suivant"
    action="#{bean.validerSaisie}" 
    actionListener="#{bean.afficherSuivant }"  >
    Dans le backingBean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public String validerSaisie() {
      /** Enregistrement en base **/
     
        return OUTCOME_OK;
    }
     
     
    public void afficherSuivant (ActionEvent event) {
     /** initialisation JSF suivante **/
    }

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Il ne faut surtout pas définir l'action ET l'actionListener sur un bouton (ou un lien). Le comportement n'est alors plus du tout sûr, et normalement seule l'une des actions devrait se faire.

    Il faut donc privilégier l'un ou l'autre des attributs. Le mieux, vu qu'il y a une navigation, c'est d'opter pour l'action, et de tout faire dans la méthode Java correspondante.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre expérimenté Avatar de Seb19
    Homme Profil pro
    Concepteur SOA
    Inscrit en
    Septembre 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Concepteur SOA

    Informations forums :
    Inscription : Septembre 2005
    Messages : 217
    Par défaut
    C'est bien ce que je craignais.

    Merci.

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    "craindre" ? Mais où se situe le souci exactement ?

    Si tu as :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:commandButton action="#{monBean.toto}" actionListener="#{monBean.pouet}"/>
    et :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void pouet(ActionEvent evt) {
        // Des trucs
    }
     
    public String toto() {
        // D'autres trucs
        return "xxx";
    }
    il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:commandButton action="#{monBean.toto}"/>
    et :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public String toto() {
        // Des trucs (anciennement pouet)
        ...
        // D'autres trucs
        return "xxx";
    }
    ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void pouet() {
        // Des trucs
    }
     
    public String toto() {
        pouet();
        // D'autres trucs
        return "xxx";
    }
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

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

Discussions similaires

  1. a4j commandButton, action ne s'execute pas
    Par saveThyCheerleader dans le forum JSF
    Réponses: 7
    Dernier message: 14/04/2009, 01h09
  2. rich:dataTable et a4j:commandButton
    Par hvdp31 dans le forum JSF
    Réponses: 4
    Dernier message: 16/03/2009, 12h59
  3. a4j:commandButton et onClick
    Par Jacobian dans le forum JSF
    Réponses: 10
    Dernier message: 18/02/2009, 13h11
  4. Réponses: 5
    Dernier message: 12/02/2009, 14h54
  5. <a4j:commandButton> attribut data
    Par sendoshi dans le forum JSF
    Réponses: 3
    Dernier message: 24/12/2008, 14h25

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