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 :

commandButton et touche Enter


Sujet :

JSF Java

  1. #1
    sup
    sup est déconnecté
    Membre confirmé Avatar de sup
    Profil pro
    Inscrit en
    Août 2004
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 70
    Par défaut commandButton et touche Enter
    Bonjour,
    J'ai une page avec plusieurs CommandButton (h:commandButton et a4j:commandButton), quand je tape sur la touche Enter de mon clavier, un de ces boutton est invoqué, mais ce n'est pas celui que j'esperais...

    Est-il possible de le specifier? (à part en javascript)

  2. #2
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Sache que JSF gère très mal la validation de formulaires par la touche Entrée. Par exemple ,dans un formulaire de saisie avec un commandButton, si tu valides le formulaire en pressant la touche Entrée dans une zone de texte, l'action est appelée 2 fois (2 accès serveur), et l'erreur suivante est générée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.net.SocketException: Connection reset by peer: socket write error
    Donc pour ton problème, cela peut être également dû à une mauvaise gestion de JSF.

    Ou alors tu es dans le bon vieux cas où tu possèdes 1 formulaire avec 2 boutons submit. A ce moment là, c'est celui généré en premier dans la source HTML qui est appelé.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form action="blabla.jsf">
       <input type="submit" value="Annuler">
       <input type="submit" value="Valider">
    </form>
    Danc ce cas là par exemple, c'est le bouton Annuler qui sera appelé. Essaye donc d'échanger l'ordre des boutons dans ta page, ou, pour l'un de tes boutons, d'utiliser un composant JSF qui ne génére pas un <input type="submit"> mais un <input type="button">

  3. #3
    Membre expérimenté
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Par défaut
    Citation Envoyé par danyboy85 Voir le message
    Sache que JSF gère très mal la validation de formulaires par la touche Entrée. Par exemple ,dans un formulaire de saisie avec un commandButton, si tu valides le formulaire en pressant la touche Entrée dans une zone de texte, l'action est appelée 2 fois (2 accès serveur), et l'erreur suivante est générée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.net.SocketException: Connection reset by peer: socket write error
    Donc pour ton problème, cela peut être également dû à une mauvaise gestion de JSF.
    peut tu dire plus sur ce probleme ? j'ai jamais entendu parle (Sauf peut etre tu parle du probleme de jsf RI 1.1 mais la ca ne concerna pas que la touche entrer)

  4. #4
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Difficile d'en dire plus. J'utilise JSF 1.2 et lorsque je valide un formulaire par la touche Entrée, systématiquement l'action serveur est appeléée 2 fois...

  5. #5
    sup
    sup est déconnecté
    Membre confirmé Avatar de sup
    Profil pro
    Inscrit en
    Août 2004
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 70
    Par défaut
    Oui c'est bien le 1er boutton qui est apellé quand on tape sur Enter, il suffit en fait de deplacer son boutton ou de mettre plusieurs form.

    Par contre je n'ai jamais constaté que les action ou actionListener soient apellés 2 fois (ni sur h:commandButton ni sur a4j:commandButton)

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    çà doit être son browser qui fait du n'importe nawak

    ou alors il a du ajax qui déconne

  7. #7
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Oui c'est vrai je me suis un peu emporté en rejetant tout de suite la faute sur JSF, qui est certainement bien mieux conçu que mes apllications. Oublions cela

    Bon sinon apparement j'ai trouvé réponse au problème de sup, c'est déjà pas si mal

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

Discussions similaires

  1. FlexGrid et touche enter:
    Par Terminator dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 25/10/2005, 15h42
  2. Evenement "Appuyer sur la touche Enter"
    Par Benjy dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/09/2005, 11h14
  3. [JTextField] Déclencher une action avec la touche ENTER
    Par tchoukapi dans le forum Composants
    Réponses: 10
    Dernier message: 19/09/2005, 14h37
  4. [Listener] Réagir sur la touche ENTER
    Par Sarrus dans le forum Agents de placement/Fenêtres
    Réponses: 14
    Dernier message: 07/09/2005, 11h31
  5. Réponses: 2
    Dernier message: 29/08/2005, 18h29

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