修改Wicket ComponentTag Parent的属性

时间:2011-06-23 19:19:08

标签: css validation wicket

我有一个Wicket表格。在此表单中有一些输入标记。这些输入标签放入div容器中。这些div容器“制作”样式(即它们具有样式类)。 如果子输入的验证失败,我想访问div标签的这种样式。我尝试使用Behavior执行此操作,但我无法访问div标记(它将是输入标记的父级)。如果验证失败,我怎么能修改父div标签的样式?

<div style="myStyle">
    <label>Field1</label> <input type="text"/>
</div>

感谢

1 个答案:

答案 0 :(得分:6)

首先要做的事情是:在Wicket中,您只能修改组件的标记。当然,页面上的所有内容都是某个组件的标记,最糟糕的是您的Page类。

但是你肯定不想修改页面类生成输出的方式。这意味着你必须使你的包含div成为一个组件。

<div wicket:id="myInputContainer">
    <label>Field1</label> <input wicket:id="myInput" type="text"/>
</div>

由于没有更多功能需要容器,因此在Java代码中使用WebMarkupContainer类。

WebMarkupcontainer cont = new WebMarkupContainer( "myInputcontainer" );
cont.add( new Textfield( "myInput" ) );
form.add( cont );

从这里开始很容易,你可以将Behavior附在容器上,鲍勃是你的叔叔。