我正在尝试在通过ajax WebPage
交换内容的a上实现面包屑导航。Panel
它最终看起来像这样:
Home >> Page >> Panel
这是我的页面代码:
public MyPage() {
super();
contentContainer = new WebMarkupContainer("contentContainer");
contentContainer.setOutputMarkupId(true);
add(contentContainer);
contentContainer.add(content = createContentPanel());
breadCrumbContainer = new WebMarkupContainer("breadcrumbContainer");
breadCrumbContainer.setOutputMarkupId(true);
add(breadCrumbContainer);
final AjaxLink panelLink = new AjaxLink("panelLink") {
@Override
public void onClick(final AjaxRequestTarget target) {
replaceContentPanel(getOverviewPanel(), target);
}
@Override
public boolean isVisible() {
return !(content instanceof OverviewPanel);
}
};
breadCrumbContainer.add(panelLink);
panelLink.add(new Label("panelLabel", new Model<String>() {
@Override
public String getObject() {
//some dynamic content for example:
return contentPanel.getClass().getName();
}
}));
}
public void replaceContentPanel(final Component replacer, final AjaxRequestTarget target) {
content.replaceWith(replacer);
content = replacer;
if (target != null) {
target.add(contentContainer);
target.add(breadCrumbContainer);
}
}
主页和页面Label
很简单。每次我更新Panel
. WebPage
我确信这 target.add(breadCrumbContainer);
条线会做到这一点。然而它是空的。标签什么也没显示。
我希望在写下这个问题时找到答案——这可能是显而易见的——但它仍然让我难以捉摸,所以我希望这里有人能发现我的错误。