AjaxLink 切换另一个 AjaxLink 的可见性

AjaxLink toggle the visibility of another AjaxLink

我有两个 AjaxLink(都在同一个容器下),我想切换它们的可见性,这样如果单击 linkAlinkA 隐藏,linkB 可见,反之亦然。

下面是我实现的linkA

linkA= new AjaxLink<Void>( "linkA" )
    {
        @Override
        public void onConfigure()
        {
            setVisible( showLinkA);
            linkB.setVisible( showLinkB);
        }

        @Override
        public void onClick( AjaxRequestTarget target )
        {
            if ( condition_met )
            {
                setResponsePage( NextPage.class, getParameters() );
            }
            else
            {
                showLinkB= true;
                showLinkA= false;
                target.add( linkA, linkB);
            }
        }
    }; 

隐藏部分起作用,即当单击 linkB 时,linkB 被隐藏。然而,当 linkA 被点击时,linkA 被隐藏并且 linkB 不再可见。我错过了什么吗?

由于您使用 Ajax 并隐藏和显示组件,因此您需要对它们使用 setOutputMarkupPlaceholderTag(true)。没有这个 "show" 就找不到它们,你的 JS 日志中一定有错误。