Рассмотрите страницу, подкатегории WebPage
. Его конструктор создает и добавляет WebMarkupContainer
, который содержит компонент ListView
при поддержке LoadableDetachableModel
.Список списков страницы Wicket LoadableDetachableModel изменяется с помощью вызова AJAX. Страница не перерисовывает
На странице также добавлены два экземпляра анонимных подклассов AbstractDefaultAjaxBehavior
[каждый из которых переопределяет класс renderHead
и respond
методов].
Соответствующий HTML содержит <div>
связаны wicket:id
к WMC и через <table>
с <tr>
«s, связанным с ListView
компонентом ListItems
.
Эта страница отображается правильно в первый раз.
На основе взаимодействия пользователя с клиентом в задаче AbstractDefaultAjaxBehavior
задается информация о модельном объекте модели. Эта информация предназначена для изменения способа отображения конкретного listitem
в виде строки <td>
в строке в таблице - в частности, текст выделенной строки должен отображаться жирным шрифтом.
Диагностические отладочные точки останова и System.out
информация по обе стороны на вызов AJAX подтвердить, что respond
метода поведения вызывается правильно и что объектная модель быть правильно изменено.
Страница никогда не перерисовывается автоматически.Вручную повторная загрузка страницы из браузера демонстрирует правильное поведение.
Я исследовал эту проблему и нашли множество, возможно, связанных с решений, которые я пробовал, в том числе
призывающую
target.add(webMarkupContainer);
изrespond
метода поведения, в сочетании с, вызывающий
target.appendJavaScript("window.location.reload();");
отrespond
способ.вызова
setResponsePage(this);
,setResponsePage(Page.class);
иsetResponsePage(getPage());
от методаrespond
, а также из переопределенonBeforeRender
метода на этой странице.
Любые предложения?
Я использовал оба варианта, в разных комбинациях, безуспешно. Я последовал за вашим редиректором 'AbstractDefaultAjaxBehavior' и повторил реализацию для проблематичного события как« AjaxEventBehavior », который теперь работает. Спасибо за подсказку - я полагаю, что я пропустил этот полезный бит где-то по пути.Если кто-то не возражает, могут ли они указать мне соответствующую справочную информацию, где описывается не обновляющийся характер абстрактного класса. Еще раз спасибо. –