我正在使用 apache wicket 1.4.22。我收到一个错误,表明我的页面缺少反馈面板。但是,我已经添加了它 - 那么为什么没有显示反馈?
未呈现针对组件的反馈消息。这可能是因为您在页面上缺少反馈面板。消息:[FeedbackMessage 消息 =“检索订阅 2971 的事务时出现问题”,报告者 = 4,级别 = 错误]
这是页面构造函数的摘录:
public class SubDetailPage extends AbstractCCPage {
public SubDetailPage(final CCSubscription sub) {
if(sub.getTransactions()==null || sub.getTransactions().isEmpty())
error("Problem retrieving transactions for subscription "+sub.getSubscriptionId());
这是超级类:
public abstract class AbstractCCPage extends WebPage {
protected final FeedbackPanel feedbackPanel;
public AbstractCCPage() {
feedbackPanel = new FeedbackPanel("info-panel");
feedbackPanel.setOutputMarkupId(true);
add(feedbackPanel);
我以前使用过反馈面板。他们工作正常。我在这里做错了什么?我只是看不到它。
稍微调试一下就可以看到反馈信息被添加到列表中了:
Session.get().getFeedbackMessages();
表明消息在那里。
并且呈现的页面确实有一个(空的)信息面板:
<div id="info_panel45" class="info-panel"> </div>
- -编辑 - -
更多调试:如果我在 AbstractCPage 构造函数中放入以下行,它可以工作:
error("hello world");
但是如果我将同一行放在 SubDetailPage 构造函数中,它不会 - 即使两个构造函数都被调用。