我有两个AjaxLink(都在同一容器下),我希望切换其可见性,以便点击linkA
时隐藏linkA
,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
无法恢复可见性。我错过了什么吗?
答案 0 :(得分:1)
由于您使用Ajax并隐藏和显示组件,因此需要对它们使用setOutputMarkupPlaceholderTag(true)
。没有这个&#34;显示&#34;找不到它们,并且JS日志中一定有错误。