L'ajout de AjaxEventBehavior à la forme du bouton empêche formulaire de soumission avec Wicket 6.1 et 6.2

J'ai un simple FormPage dérivé de WebPage définie comme ceci:

public FormPage() {

    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    add(feedback);

    final TextField<String> entry = new TextField<String>("entry");

    final Button button = new Button("button");
    button.add(new AjaxEventBehavior("onclick") {
        @Override
        protected void onEvent(final AjaxRequestTarget target) {
            System.out.println("Event");
        }
    });

    Form<DataModel> form = new Form<User>("userForm", new CompoundPropertyModel<DataModel>(dataModel)) { 

        @Override
        protected void onValidate() {
            System.out.println("Validate");
            String entryValue = entry.getValue();
            if (entryValue == null || entryValue.length() == 0) {
                error("entry value required");
            }
        };

        @Override
        protected void onSubmit() {
            System.out.println("Submit");
            if (!hasErrors()) {
                String entryValue = entry.getValue();
                if (!entryValue.equals("value")) {
                    error("entry has wrong value");
                }
            }
        };
    };

    form.add(entry);
    form.add(button);
    add(form);
}

Je suis en train de faire quelque chose (dans cet exemple juste l'impression de console) sur la soumission d'un formulaire, j'ai donc attaché AjaxEventBehavior sur le bouton de onclick événement. Cela fonctionne parfaitement: l'action est exécuté sur le bouton de la souris, mais maintenant, la forme n'est pas présentée.

J'ai aussi été à expérimenter avec

form.add(new AjaxEventBehavior("onsubmit")

et ce gestionnaire d'événement empêche également la soumission d'un formulaire.
Par exemple,

entry.add(new AjaxEventBehavior("onclick")

permet de formulaire pour être soumis, mais l'événement n'est pas lié à la soumission.
Maintenant, je suis perplexe comment puis-je avoir mon formulaire et effectuer une action sur cet événement.

OriginalL'auteur divanov | 2012-11-03