Java 按id wicket查找html标记标记

Java 按id wicket查找html标记标记,java,html,wicket,Java,Html,Wicket,我有一个表列,有时需要隐藏 <td id="row1"><span wicket:id="state">Servicio de Reprografia</span></td> Reprografia服务 我是否可以通过java代码找到这一点,并添加一个隐藏属性以完全隐藏此标记?我想您希望在页面上某个组件的onClick()或onSubmit()处理程序中执行此操作。在这种情况下,您必须呼叫: getPage().get("path:to:com

我有一个表列,有时需要隐藏

<td id="row1"><span wicket:id="state">Servicio de Reprografia</span></td>
Reprografia服务

我是否可以通过java代码找到这一点,并添加一个隐藏属性以完全隐藏此标记?

我想您希望在页面上某个组件的
onClick()
onSubmit()
处理程序中执行此操作。在这种情况下,您必须呼叫:

getPage().get("path:to:component").setVisibleAllowed(false);
此外,如果在AJAX回调中执行此操作,则必须将(现在已隐藏)组件添加到
AjaxRequestTarget


path.to.component
对应于wicket组件的嵌套。这将允许您隐藏
元素。如果您也想隐藏
,我建议将您的
wicket:id
标记移动到
元素。

我想您希望在页面上某个组件的
onClick()
onSubmit()
处理程序中执行此操作。在这种情况下,您必须呼叫:

getPage().get("path:to:component").setVisibleAllowed(false);
此外,如果在AJAX回调中执行此操作,则必须将(现在已隐藏)组件添加到
AjaxRequestTarget


path.to.component
对应于wicket组件的嵌套。这将允许您隐藏
元素。如果您也想隐藏
,我建议将
wicket:id
标记移动到
元素。

隐藏wicket组件时,您需要使用
隐藏周围的标记:

<wicket:enclosure>
    <td id="row1"><span wicket:id="state">Servicio de Reprografia</span></td>
</wicket:enclosure>


state.setVisible(false);
target.addComponent(state);

谴责服务
state.setVisible(false);
target.addComponent(状态);

隐藏wicket组件时,您需要使用
隐藏周围的标记:

<wicket:enclosure>
    <td id="row1"><span wicket:id="state">Servicio de Reprografia</span></td>
</wicket:enclosure>


state.setVisible(false);
target.addComponent(state);

谴责服务
state.setVisible(false);
target.addComponent(状态);

最好覆盖组件的
isVisible
方法,而不是将其设置为
setVisible
,这有时是不可靠的。不,它不是
isVisible
很可能会在每个请求中被频繁调用,重写它可能会导致严重的副作用。我调查了这件事,发现使用
isVisibleAllowed
setVisibleAllowed
是控制可见性的首选方法,因为它们是最终的,因此不能被覆盖。我将更改答案以反映我的发现。路径分隔符是
,而不是
。仅在安全框架中使用
setVisiableAllowed()
。定义组件可见性的首选方法是覆盖
onConfigure()
并在那里使用
setVisible()
——它只执行一次。最好覆盖组件的
isVisible
方法,而不是使用
setVisible
设置它,这有时是不可靠的。不是,不是
isVisible
很可能会在每个请求中被频繁调用,重写它可能会导致严重的副作用。我调查了这件事,发现使用
isVisibleAllowed
setVisibleAllowed
是控制可见性的首选方法,因为它们是最终的,因此不能被覆盖。我将更改答案以反映我的发现。路径分隔符是
,而不是
。仅在安全框架中使用
setVisiableAllowed()
。定义组件可见性的首选方法是覆盖
onconfig()
并在那里使用
setVisible()
——它只执行一次。哇,这很方便。以前不知道
。谢谢你指出+1通过Ajax设置可见性时,请记住使用Wow,这很方便。以前不知道
。谢谢你指出+1通过Ajax设置可见性时,请记住使用