![](/img/trans.png)
[英]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.