首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每次发生Ajax事件都会刷新的FeedbackPanel

每次发生Ajax事件都会刷新的FeedbackPanel
EN

Stack Overflow用户
提问于 2016-02-26 04:47:57
回答 1查看 288关注 0票数 0

我在我的网页中添加了一个FeedbackPanel,期望每当组件响应Ajax行为时它都会刷新。为此,我覆盖了页面中的onEvent方法,如下所示:

代码语言:javascript
复制
@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("...");创建的消息。

我希望这些消息能够持续存在。

我做错了什么?

谢谢!埃里克

EN

回答 1

Stack Overflow用户

发布于 2016-02-26 05:05:09

检查org.apache.wicket.settings.ApplicationSettings#setFeedbackMessageCleanupFilter()。默认情况下,Wicket使用一个反馈清理过滤器来删除所有呈现的反馈消息。一旦FeedbackPanel在Ajax请求中重新呈现自己,它就会将此Ajax请求中报告的所有反馈消息标记为呈现。

您必须将其替换为决定何时清理/删除消息的自定义实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35638004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档