De quelle manière est-ce que je peux créer une case à cocher automatiquement soumettre le formulaire auquel il appartient dans Wicket? Je ne veux pas inclure de bouton de soumission. La case à cocher est sauvegardée par un champ booléen dans un objet de domaine ("Compte" dans ce cas).Case à cocher Wicket qui soumet automatiquement sa valeur modifiée à l'objet de domaine
Exemple simplifié avec des pièces non pertinentes omis:
EntityModel<Account> accModel = new EntityModel<Account>(Account.class, id);
PropertyModel<Boolean> model = new PropertyModel<Boolean>(accModel, "enabled");
CheckBox checkBox = new CheckBox("cb", model);
Form form = new Form("form");
form.add(checkBox);
add(form);
HTML:
<form wicket:id="form" id="form" action="">
<input wicket:id="cb" type="checkbox" />
</form>
Modifier: Pour clarifier, mon objectif est juste de changer le champ de l'objet de domaine (-> dans la base de données aussi) lorsque la case à cocher est activée. Tout moyen (propre, facile) d'y parvenir serait acceptable. (Je ne sais pas si vous avez besoin en fait la forme pour cela.)
C'est exactement le cas d'utilisation de wantOnSelectionChangedNotifications. (+1) –