我在我的网页中添加了一个FeedbackPanel,期望每当组件响应Ajax行为时它都会刷新。为此,我覆盖了页面中的onEvent方法,如下所示:
@Override
public void onEvent(IEvent<?> event) {
Object payload = event.getPayload() ;
if ( payload instanceof AjaxRequestHandler) {
AjaxRequestHandler target = (AjaxRequestHandler)payload ;
target.add(console); // console is the FeedbackPanel instance
}
super.onEvent(event);
}从刷新FeedbackPanel的意义上来说,它工作得相当好,但是现在,对于任何新的Ajax事件,面板都会被清除。显示的是响应Ajax事件的组件使用info("...");创建的消息。
我希望这些消息能够持续存在。
我做错了什么?
谢谢!埃里克
发布于 2016-02-26 05:05:09
检查org.apache.wicket.settings.ApplicationSettings#setFeedbackMessageCleanupFilter()。默认情况下,Wicket使用一个反馈清理过滤器来删除所有呈现的反馈消息。一旦FeedbackPanel在Ajax请求中重新呈现自己,它就会将此Ajax请求中报告的所有反馈消息标记为呈现。
您必须将其替换为决定何时清理/删除消息的自定义实现。
https://stackoverflow.com/questions/35638004
复制相似问题