f:ajax écouteur pas appelé pour h:selectBooleanCheckbox
Avec ce code :
<h:selectBooleanCheckbox value="#{user.data['selected']}">
<f:ajax event="click" listener="#{timetableBean.processUserEvents}" />
<f:attribute name="user" value="#{user}" />
</h:selectBooleanCheckbox>
Le code de la méthode est :
public void processUserEvents(AjaxBehaviorEvent e) {
User user = (User) e.getComponent().getAttributes().get("user");
...
}
Cliquant sur la case à cocher ne déclencher l'ajax soumettre, mais l'auditeur méthode n'est pas appelée à tous.
Pour couronner le tout, il n'y a pas de messages d'erreur, et les phases de se terminer normalement.
Im essayait mojarra 2.0.4-b09, et après avoir fait face à cette erreur, j'ai changé pour 2.1.2, mais le même problème persiste.
Est-ce que je fait de mal ?
Merci.
Mise à JOUR
Le problème a été de placer le h:selectBooleanCheckbox à l'intérieur de la primefaces datalist (p:dataList). En le plaçant à l'extérieur fonctionne très bien. Je me demande quel est le problème. Demandez dans la primefaces forum maintenant.
- Est-ce que votre écouteur signature de la méthode match
public void processAjaxBehavior(javax.faces.event.AjaxBehaviorEvent event)
? - Pratique: je vous remercie, j'ai déjà mis à jour mon post ci-dessus, et oui, j'ai cette signature.
Vous devez vous connecter pour publier un commentaire.
Ici se trouve la réponse d'un problème similaire.
Le problème était vraiment de mettre la case à cocher à l'intérieur de p:dataList sans encapsulation dans un p:column.
Après l'enveloppant avec p:colonne, l'auditeur sera appelé normalement.
Espère que cela aide !