gpt4 book ai didi

java - 如何从特定表单内的组件获取所有反馈消息?

转载 作者:行者123 更新时间:2023-12-02 04:36:37 26 4
gpt4 key购买 nike

Wicket 6 不再在 session 中保留反馈消息。现在它们附加到组件上,我认为这是一个伟大的举动,但我解决了与此相关的问题。我曾经删除与特定表单相关的所有反馈消息,如下所示:

Session.get().getFeedbackMessages().clear(new ContainerFeedbackMessageFilter(panelForm));

不幸的是,现在我无法像这样清除它:

panelForm.getFeedbackMessages().clear();

出于显而易见的原因 - 它们附加到表单内的组件。那么有没有一种方法可以通过仅访问(在我的例子中)panelForm来获取这些反馈消息,或者我唯一的方法是在我的所有组件上调用getFeedbackMessages() (panelForm.component1、panelForm.component2 等)?

最佳答案

使用 FeedbackCollector,如示例所示:

new FeedbackMessagesModel(this) {    
@Override
protected List<FeedbackMessage> collectMessages(Component panel, IFeedbackMessageFilter filter) {
return new FeedbackCollector(YourComponent.this.getParent()) {
@Override
protected boolean shouldRecurseInto(Component component) {
return true; // your citeria here
}
}.setIncludeSession(false).collect(filter);
}
};

关于java - 如何从特定表单内的组件获取所有反馈消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30666348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com