我有一个Wicket表格。在此表单中有一些输入标记。这些输入标签放入div容器中。这些div容器“制作”样式(即它们具有样式类)。 如果子输入的验证失败,我想访问div标签的这种样式。我尝试使用Behavior执行此操作,但我无法访问div标记(它将是输入标记的父级)。如果验证失败,我怎么能修改父div标签的样式?
<div style="myStyle">
<label>Field1</label> <input type="text"/>
</div>
感谢
答案 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
附在容器上,鲍勃是你的叔叔。