2

我试图在检票口中隐藏一个标签,只有在以下情况下我才设法做到这一点:

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 标签内部有另一个检票口组件,所以我似乎无法让它工作,错误弹出说内部组件未在组件“div_id”中定义。

知道如何让它工作吗?

多谢你们!!

4

2 回答 2

2

如果您在该 div 中有其他组件,则必须将其他组件添加到您为该 div 拥有的标记容器中,而不是将它们添加到您的页面中。wicket 正在寻找的是 Java 和 HTML 部分的层次结构之间的匹配。

于 2013-11-03T23:14:13.570 回答
0

这只是一个非常疯狂的猜测,因为我不知道您如何添加内部组件以及究竟是什么失败了,但是如果您在 onBeforeRender() 中添加或修改它们并且您使用的是 Wicket 1.4.x,您将需要覆盖 WebmarkupContainer.callOnBeforeRenderIfNotVisible() 以返回 true...

对于 Wicket 1.5,此代码应移至 onConfigure()

于 2012-06-05T09:33:27.223 回答