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 :

Passer le code de la touche du clavier enfoncé


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
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut Passer le code de la touche du clavier enfoncé
    Bonjour

    je voudrais passer du coté serveur le code de la touche du clavier enfoncé pour faire un traitement.Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    						<p:autoComplete id="#{id}numeroDepartement"
    							value="#{helper.departementRecherche}"
    							completeMethod="#{testDepartementHelper.completeDepartement}"
    							forceSelection="true" minQueryLength="0" maxResults="20"
    							var="testDepartement" itemLabel="#{testDepartement.shortString()}"
    							itemValue="#{testDepartement}" converter="#{testDepartementConverter}"
    							queryDelay="300" size="40"
    							disabled="#{!helper.choixDepartement}"
    							required="#{!helper.choixDepartement ? false : empty helper.listeDepartements}"
    							requiredMessage="recherche.departement.required"
    							widgetVar="testDepartementRecherche" onkeyup="document.getElementById('#{keyCode.clientId}').value=event.keyCode;">
    							<p:ajax event="itemSelect"
    								update="#{id}Recherche #{widgetVar}Panel"
    								process="#{widgetVar}Panel" />
    								<p:ajax event="keyup"  execute="@this keyCode" listener="#{helper.action}" />
    						</p:autoComplete>
    						<h:inputHidden id="keyCode" binding="#{keyCode}" value="#{helper.keyCode}" />
    Voici mon Bean de traitement du coté serveur (helper = testComparaisonHelper)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    @ManagedBean
    @ViewScoped
    public class TestComparaisonHelper  implements Serializable {
     
    	/**
             * 
             */
    	private static final long serialVersionUID = -9129695073270590797L;
     
    	private int keyCode;
     
    	public int getKeyCode() {
    		return keyCode;
    	}
     
     
     
    	public void setKeyCode(int keyCode) {
    		this.keyCode = keyCode;
    	}
     
    	public void action() {
    		int i = 0;
    		switch (keyCode) {
    		case 13:
    			// Enter key was pressed.
    			break;
    		case 27:
    			// Escape key was pressed.
    			break;
    		default:
    			// Other key was pressed.
    			break;
    		}
    	}
    Il y a 2 choses qui ne vont pas
    1) le setter de keyCode n'est jamais appelé
    2) la méthode action n'est appelé qu'à la deuxième frappe du clavier

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <p:ajax ... process="@this keyCode" ... />
    <f:ajax> utilise execute / render
    <p:ajax> utilise process / update
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut
    Bonjour Obutterlin et merci pour ta réponse.

    Avec tes modifs cela marche mais pas à chaque fois que je tappe sur le clavier. Je ne sais pas pourquoi le listener n'est appelè que certaines fois

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    C'est curieux... tu devrais essayer en précisant immediate="true", si l'appel reste "chaotique", on avisera
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. code en c des touche de clavier
    Par sdfsam dans le forum C
    Réponses: 1
    Dernier message: 25/11/2010, 12h47
  2. code hexa des touches claviers
    Par darkwall_37 dans le forum Débuter
    Réponses: 4
    Dernier message: 24/03/2009, 09h52
  3. Liste des numéros des touches du clavier - Liste des codes Ascii
    Par Filippo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/08/2008, 16h11
  4. Code des touche du clavier
    Par kroma23 dans le forum Langage
    Réponses: 4
    Dernier message: 27/03/2008, 17h46

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