我试图在wicket中隐藏一个标签,我只是在以下情况下成功实现了这一点:
HTML
...
<div wicket:id="div_id">This is what hides</div>
JAVA
final WebMarkupContainer wmc = new WebMarkupContainer("div_id");
Method
public onSubmit(){
wmc.setVisible(false);
}
这设法隐藏div,但是我的div标签内部有另外的wicket组件,所以我似乎无法使其工作,错误弹出说内部组件未在组件“div_id”中定义。
知道如何让这个工作吗?
谢谢你们!
答案 0 :(得分:1)
如果div中有其他组件,则必须将其他组件添加到div的标记容器中,而不是将其添加到页面中。 wicket正在寻找的是Java和HTML部分的层次结构之间的匹配。
答案 1 :(得分:0)
这只是一个非常疯狂的猜测,因为我不知道你如何添加内部组件以及究竟是什么失败,但是如果你在onBeforeRender()中添加或修改它们并且你正在使用Wicket 1.4.x,那么你'我需要覆盖WebmarkupContainer.callOnBeforeRenderIfNotVisible()才能返回true ...
对于Wicket 1.5,此代码应移至onConfigure()