Bonjour
je voudrais passer du coté serveur le code de la touche du clavier enfoncé pour faire un traitement.Voici le code
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 <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}" />
Il y a 2 choses qui ne vont pas
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; } }
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.
Partager