Java 隐藏a<;部门>;使用wicket&;日食

Java 隐藏a<;部门>;使用wicket&;日食,java,html,wicket,Java,Html,Wicket,我曾试图在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); } HTML ... 这

我曾试图在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);
}
HTML
...
这就是隐藏的东西
JAVA
最终WebMarkupContainer wmc=新的WebMarkupContainer(“div_id”);
方法
公共onSubmit(){
wmc.setVisible(假);
}
这成功地隐藏了div,但是我的div标签中有另一个wicket组件,因此我似乎无法让它正常工作,错误提示说内部组件没有在组件“div_id”中定义

你知道怎么让它工作吗


谢谢大家

这只是一个非常胡乱的猜测,因为我不知道如何添加内部组件以及哪些组件会失败,但是如果在onBeforeRender()中添加或修改它们,并且使用的是Wicket 1.4.x,则需要重写WebmarkupContainer.CallOnBeforeRenderInVisible()以返回true


对于Wicket 1.5,应将此代码移动到onConfigure()

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

你能发布堆栈跟踪和真实代码的相关部分吗?如果将其他组件添加到
div
并在HTML中显示,它应该可以正常运行。如果不隐藏“div_id”wmc,它可以工作吗?如果在我不放置另一个wicket组件(例如通过dataview填充的表)的情况下,它可以工作,这就是我试图隐藏的内容。如果div标记中只是普通的html元素,而不是Wicketiner组件,则它可以工作,因为Wicketiner组件只是一个表,其中填充了分页导航器旁边的数据视图,我对wicket比较陌生,我正在开发一个中等复杂度的应用程序,所以我有这个问题,谢谢你的支持support@JavT我们仍然需要了解如何以及在何处构造内部组件和异常,以及抛出异常的代码,以便能够提供帮助。今天稍后将上载!我必须重新创建错误,因为我现在尝试不使用该操作。谢谢,这指出了我未能理解的关键思想。现在,我的项目正在按我的预期工作。:)