2017-05-30 27 views
1

我有兩個differend Wicket FeedbackPanel在同一頁面,一個是錯誤消息,另一個是成功消息。問題是當我打電話feedback1.error(「bla bla bla」)兩個反饋面板被繪。我有兩個檢票反饋面板在同一頁面,都回應相同的錯誤消息

feedbackErrorOptionsPanel = new FeedbackErrorPanel("feedbackErrorOptionsPanel"); 
feedbackErrorOptionsPanel.setOutputMarkupId(true); 
feedbackErrorOptionsPanel.setOutputMarkupPlaceholderTag(true); 
feedbackErrorOptionsPanel.setEscapeModelStrings(false); 
feedbackErrorOptionsPanel.setFilter(new ContainerFeedbackMessageFilter(this)); 
add(feedbackErrorOptionsPanel); 

... 

feedbackSuccessOptionsPanel = new FeedbackSuccessPanel("feedbackSuccessOptionsPanel"); 
feedbackSuccessOptionsPanel.setOutputMarkupId(true); 
feedbackSuccessOptionsPanel.setOutputMarkupPlaceholderTag(true); 
feedbackSuccessOptionsPanel.setEscapeModelStrings(false); 
feedbackSuccessOptionsPanel.setFilter(new ContainerFeedbackMessageFilter(this)); 
add(feedbackSuccessOptionsPanel); 

... 

feedbackErrorOptionsPanel.errorWithLink("messaggio da visualizzare", "Per aggiungere clicca qui!", WebPage.class, null); 

errorWithLink方法用於添加鏈接insisde消息錯誤。這個metod調用了我的類中的error()方法,它擴展了FeedbackPanel

任何人都可以告訴我如何調用feedback1.error以顯示第一個和feedback2.success以顯示第二個?

回答

1

FeedbackPanel的構造函數接受IFeedbackMessageFilter - org.apache.wicket.markup.html.panel.FeedbackPanel#FeedbackPanel(java.lang.String, org.apache.wicket.feedback.IFeedbackMessageFilter)

你可以通過org.apache.wicket.feedback.ExactLevelFeedbackMessageFilter與各自的水平,他們兩個。

+0

非常感謝你。有用 –

1

您應該使用ErrorLevelFeedbackMessageFilter(或ExactLevelFeedbackMessageFilter)而不是ContainerFeedbackMessageFilter來獲取所需的行爲。欲瞭解更多詳情,請查詢user guide

+0

非常感謝。它的作品 –

相關問題