[英]How to automatically scroll up a wicket panel when wicket feedbackpanel is trigged?
[英]How do I use FeedbackPanel in a stateless Wicket application?
我有一个使用FeedbackPanel的应用程序,向用户显示过帐表格的结果。
在无状态页面上调用Component#info(String)时,Wicket似乎确实将该字符串放入了FeedbackMessages会话中。 但是,稍后,FeedbackPanel会尝试查找消息,甚至根本找不到任何消息,即使当我在调试器中查看所有消息时,它们似乎仍在会话中。
另外,发生这种情况时,WicketTester会发誓要显示该消息,从而使WicketTester本质上对测试反馈消息毫无用处(我现在在清单上有一个TODO可以用标记本身的断言代替该用法)。
Wicket 1.5.6中有一个错误: 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的演示。
用自己的解决方案回答我的问题。 在我们的StatelessWebSession
,重写其他方法:
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);
}
这样,它仅清除组件的渲染消息,而不清除组件的所有消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.