AjaxFormComponentUpdatingBehavior не работает в Wicket 8 - PullRequest
2 голосов
/ 11 июля 2019

Я переключаюсь с Wicket 6 на Wicket 8, и AjaxFormComponentUpdatingBehavior, похоже, больше не работает.

Пример страницы:

    public HomePage() {
        final Form<Void> form = new Form<>("form");
        final TextField<String> txt = new TextField<>("txt", new Model<>());
        txt.add(new AjaxFormComponentUpdatingBehavior("onchange") {
            private static final long serialVersionUID = 1L;

            @Override
            protected void onUpdate(final AjaxRequestTarget target) {
                System.out.println("update: " + txt.getValue());
            }
        });
        form.add(txt);
        add(form);
    }

и соответствующий html:

<form wicket:id="form">
<input wicket:id="txt">
</form>

В Wicket 8.5.0 метод onUpdate никогда не вызывается и сообщения об ошибке нет.В Wicket 6 работает нормально.То же самое происходит с другими типами компонентов, например, select / DropDownChoice.

Это ошибка?Или что я делаю не так?

1 Ответ

5 голосов
/ 11 июля 2019

События с префиксом on устарели после Wicket 6. В Wicket 8 их поддержка была удалена.Вы можете заставить эти компоненты работать снова, изменив onchange на change.

См. Также: https://cwiki.apache.org/confluence/display/WICKET/Migration+to+Wicket+8.0

...