Калитка 1.5.3 Модальное окно с AjaxSelfUpdatingTimerBehavior - PullRequest
1 голос
/ 13 января 2012

Недавно я мигрировал с Wicket 1.4 на Wicket 1.5.

У меня проблема с панелью AjaxSelfUpdatingTimerBehavior, добавленной в ModalWindow.

Закрытие модального окна не останавливает таймер, поэтому, когда оно истекает, оно пытается соединиться с (невидимой) панелью.

В новой версии Wicket запрещены запросы AJAX от отключенных / невидимых компонентов, поэтому я вижу «поведение не включено; игнорировать вызов».предупреждение в журналах и «Отказано в доступе» на странице.

Есть идеи, как это исправить?

  • вызов AjaxSelfUpdatingTimerBehavior.stop () из WindowClosedCallback не работает

1 Ответ

1 голос
/ 16 января 2012

Переопределить canCallListenerInterface (компонентный компонент, метод метода) в AjaxSelfUpdatingTimerBehavior

/**
 * Overridden to get rid of "Access Denied" error after closing Modal Window
 */
@Override
public boolean canCallListenerInterface(Component component, Method method) {
    if(SelfupdatingPanel.this.equals(component) && 
            method.getDeclaringClass().equals(org.apache.wicket.behavior.IBehaviorListener.class) &&
            method.getName().equals("onRequest")){
        return true;
    }
    return super.canCallListenerInterface(component, method);
}

Обратите внимание, что class.getMethod ("onRequest", (Class) null) выбрасывает NoSuchMethodException, поскольку onRequest 100) не является

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...