Wicket Label does not update / remains invisible

I am trying to implement Breadcrumb Navigation on WebPage, which exchanges content Panelusing ajax.

It looks like this: Home >> Page >> Panel

Here is my page code:

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);
    }
}

The home and page Labelare simple. For Panel, you need to update every time I update the content Panel WebPage. I was sure that the line target.add(breadCrumbContainer);would do this. However, it is empty. The label does not show anything.

I was hoping to find an answer, which is probably obvious - when writing the question, but it still eludes me, so I hope someone here noticed my mistake.

+5
source share
1 answer

Ajax setOutputMarkupPlaceholderTag(true), setOutputMarkupId(true). , setOutputMarkupPlaceholderTag(true) setOutputMarkupId(true).

: Ajax ( AjaxRequestTarget), Wicket Ajax, API JS-DOM Ajax . , JS, , DOM node ( HTML id). setOutputMarkupId(true) .

, , Wicket , , . ajax-, Ajax. , , DOM node . , setOutputMarkupPlaceholderTag(true), - - (.. < <28 > ), HTML id .

+10

All Articles