Проблема в том, что он не работает. Мы делали похожие вещи в других приложениях, и я не вижу, в чем разница. Кажется, что происходит то, что когда мы нажимаем, Wicket выдает StalePageException и отправляет перенаправление клиенту, который затем перезагружает страницу, уничтожая выбранные элементы. В журнале следующая ошибка:
Код: Выделить всё
org.apache.wicket.core.request.mapper.StalePageException: A request to page '[Page class = my.package.queue.modules.ReportQueue, id = 3, render count = 1]' has been made with stale 'renderCount'. The page will be re-rendered.
Определение поведения в Java:
Код: Выделить всё
behaviorDisable = new AbstractDefaultAjaxBehavior() {
protected void respond(final AjaxRequestTarget target) {
//code redacted, but control never arrives here so it doesn't matter.
}
};
add(behaviorDisable);
String callback = String.valueOf((behaviorDisable.getCallbackUrl()));
hiddenfield = new HiddenField("callBackUrl", new Model(callback));
add(hiddenfield);
Код: Выделить всё
Wicket.Ajax.get({
"u" :document.getElementById('callBackUrl').value
});
Прежде чем рекомендовать обновление, да, мы знаем, что он устарел. Наш клиент является правительственным учреждением и не любит обновляться, если его не вынудят серьезные нарушения безопасности или какая-либо другая внешняя сила. Мы не можем получить разрешение на обновление. Запланированы усилия по «модернизации», но их постоянно откладывают, поскольку буквально все имеет более высокий приоритет.
Подробнее здесь: https://stackoverflow.com/questions/783 ... or-trigger