首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在无状态Wicket应用程序中使用FeedbackPanel?

如何在无状态Wicket应用程序中使用FeedbackPanel?
EN

Stack Overflow用户
提问于 2012-06-01 10:20:37
回答 2查看 1.3K关注 0票数 1

我有一个使用FeedbackPanel的应用程序来向用户显示张贴表单的结果。

在无状态页面上调用Component#info( string )时,Wicket似乎正在将该字符串放入FeedbackMessages会话中。但是后来,FeedbackPanel尝试查找这些消息,但似乎根本找不到任何消息,即使当我在调试器中查看所有这些消息时,它们似乎仍在会话中。

而且,当这种情况发生时,WicketTester保证消息正在显示,这使得WicketTester在测试反馈消息时基本上没有用处(我现在的列表上有一个TODO,用标记本身上的断言来替换对它的使用)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-19 12:35:15

用我自己的解决方案回答我的问题。在我们的StatelessWebSession中,覆盖一个额外的方法:

代码语言:javascript
复制
private static final IFeedbackMessageFilter renderedMessagesForComponents =
    new IFeedbackMessageFilter()
    {
        @Override
        public boolean accept(FeedbackMessage message)
        {
            return message.getReporter() != null && message.isRendered();
        }
    };

@Override
protected void cleanupComponentFeedbackMessages()
{
    // deliberately not calling the method in the superclass because it
    // clears all messages for components.
    getFeedbackMessages().clear(renderedMessagesForComponents);
}

这样,它只清除组件的呈现消息,而不是组件的所有消息。

票数 0
EN

Stack Overflow用户

发布于 2012-06-01 15:05:52

Wicket 1.5.6中有一个bug:https://issues.apache.org/jira/browse/WICKET-4536。否则,这应该可以正常工作。您可以在http://www.wicket-library.com/wicket-examples-1.4.x/stateless/?wicket:bookmarkablePage=:org.apache.wicket.examples.stateless.StatelessPage上查看1.4.20的演示

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

https://stackoverflow.com/questions/10843633

复制
相关文章

相似问题

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