AjaxLink切换另一个AjaxLink的可见性

时间:2017-06-25 21:43:50

标签: java ajax wicket

我有两个AjaxLink(都在同一容器下),我希望切换其可见性,以便点击linkA时隐藏linkAlinkB可见,并且反之亦然。

以下是我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无法恢复可见性。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

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