Wicket использует application.getApplicationSettings().getFeedbackMessageCleanupFilter()
для удаления сообщений обратной связи в конце цикла запроса.
По умолчанию удаляются все уже обработанных сообщений.
Вы можете настроить специальный фильтр очистки, который может оставлять некоторые сообщения, например, если они реализуют какой-то интерфейс. Например:
component.info(new DoNotDeleteMe("The actual message here."));
и ваш фильтр должен будет проверить:
@Override
public boolean accept(FeedbackMessage message)
{
if (message.getMessage() instanceOf DoNotDeleteMe) {
return false;
}
return message.isRendered();
}
Убедитесь, что вы внедрили DoNotDeleteMe#toString()
, чтобы он правильно отображался. Или вам придется использовать пользовательский FeedbackPanel
тоже.
DoNotDeleteMe
должен реализовать java.io.Serializable
!