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 :

[Icefaces] Controller ValueChangeEvent


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Par défaut [Icefaces] Controller ValueChangeEvent
    Bonjour,

    J'ai un composant SelectOneMenu dans ma page JSF avec une methode valueChangeListener. Quand je clique sur un bouton de la page, je change ma liste (dynamique) en java. cette action fait declencher l'evenement ValueChangeEvent (ce qu'il le faut pas).

    Traitement souhaitée :
    la méthode ValueChangeEvent se declenche seulement s'il y'a eu un clique sur la liste pour choisir une autre valeur.

    Comment bloquer le ValueChangeEvent lors du clic sur un autre bouton (qui change la liste en Java) ?

  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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bonsoir,

    Le ValueChangeListener est lié à une méthode Java qui lancée quand le formulaire est soumis, et à condition que la valeur contenue dans le champ soit changée.

    Lorsque l'on souhaite que le ValueChangeListener soit exécuté immédiatement après la modification de la liste, il faut faire cela :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:selectOneMenu ... valueChangeListener="#{monBean.maMethode}" onchange="this.form.submit();">
        <f:selectItems .../>
    </h:selectOneMenu>

    C'est old school, mais ça marche. Ainsi, le ValueChangeListener ne pourra être exécuté qu'à la modification directe de la liste.

    Une variable plus web 2.0 est de faire la même chose, mais en Ajax. Par exemple avec Richfaces (le même principe fonctionne avec Icefaces, ou nativement avec JSF 2.0) :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <h:selectOneMenu ... valueChangeListener="#{monBean.maMethode}">
        <a4j:suppport event="onchange" .../>
        <f:selectItems .../>
    </h:selectOneMenu>
    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. [VB6] [Réseau] Prendre le contrôle d'un téléchargement
    Par Tchetch dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/10/2002, 14h18
  2. [VB6] [Interface] Nbre de contrôles maxi dans une feuille
    Par Midou dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 13/10/2002, 16h09
  3. [VB6] [Interface] Tester le Type de Controle
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 16/09/2002, 09h51
  4. [controle] propriété read only
    Par Fizgig dans le forum Composants VCL
    Réponses: 6
    Dernier message: 28/08/2002, 10h30
  5. Rx Controls Gif animés
    Par toufou dans le forum Composants VCL
    Réponses: 6
    Dernier message: 23/08/2002, 14h09

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