默认情况下,BreadCrumbBar使用BreadCrumbLinks 来呈现其链接,这是通常Link的 s(而不是AjaxLinks)。
要获得 ajax 行为,您可以尝试创建自己的 link( BreadCrumbAjaxLink) 实现,并使用's中存在的相同逻辑来AjaxLink实现。onClick(AjaxRequestTarget)BreadCrumbLinkonClick()
然后使用 yourBreadCrumbComponent而不是.AjaxBreadCrumbComponentBreadCrumbAjaxLinkBreadCrumbLink
然后覆盖BreadCrumbBar的newBreadCrumbComponent()方法:
protected Component newBreadCrumbComponent(final String id, final long index, final int total,
final IBreadCrumbParticipant breadCrumbParticipant)
{
boolean enableLink = getEnableLinkToCurrent() || (index < (total - 1));
return new AjaxBreadCrumbComponent(id, getSeparatorMarkup(), index, this,
breadCrumbParticipant, enableLink);
}
在BreadCrumbAjaxLink中,您可以更新任何您想要的附加组件。(您可能也需要更新栏本身)。