防止Wicket为容器元素生成HTML?
我遇到了一个Wicket为元素生成标记的问题,这些元素在编程上需要存在,但在结构上不需要。它没有把任何东西弄乱,但我喜欢尽可能保持页面整洁。应该注意的是,我是一名前端开发人员,所以如果可能的话,我希望不要接触java文件 假设我有以下HTML,它是组件模板的一部分:防止Wicket为容器元素生成HTML?,html,wicket,Html,Wicket,我遇到了一个Wicket为元素生成标记的问题,这些元素在编程上需要存在,但在结构上不需要。它没有把任何东西弄乱,但我喜欢尽可能保持页面整洁。应该注意的是,我是一名前端开发人员,所以如果可能的话,我希望不要接触java文件 假设我有以下HTML,它是组件模板的一部分: <ul class="configList" wicket:id="rows"> <li wicket:id="cols"> <div wicket:id="checkBoxTh
<ul class="configList" wicket:id="rows">
<li wicket:id="cols">
<div wicket:id="checkBoxThing"></div>
</li>
</ul>
-
这是checkBoxThing的模板:
<wicket:panel>
<div wicket:id="checkboxContainer">
<label wicket:id="label"></label>
<input type="checkbox" wicket:id="checkbox" name="check" />
</div>
</wicket:panel>
<wicket:panel>
<wicket:container wicket:id="checkboxContainer">
<label>Checkbox Label</label>
<input type="checkbox" />
</wicket:container>
</wicket:panel>
查看页面时,生成的标记如下所示:
<ul class="configList>
<li>
<div>
<div id="RandomWicketID">
<label>Checkbox Label</label>
<input type="checkbox" />
</div>
</div>
</li>
</ul>
使用
例如
<ul class="configList" wicket:id="rows">
<li wicket:id="cols">
<wicket:container wicket:id="checkBoxThing"></wicket:container>
</li>
</ul>
-
一般情况下,请参见使用标签
注意:如果Wicket的配置模式设置为开发(默认IIRC),则Wicket属性和标记仍将出现在标记中。如果将其更改为部署,Wicket将从输出中删除它们(请参阅)
配置列表:
<ul class="configList" wicket:id="rows">
<li wicket:id="cols">
<wicket:container wicket:id="checkBoxThing" />
</li>
</ul>
-
支票箱:
<wicket:panel>
<div wicket:id="checkboxContainer">
<label wicket:id="label"></label>
<input type="checkbox" wicket:id="checkbox" name="check" />
</div>
</wicket:panel>
<wicket:panel>
<wicket:container wicket:id="checkboxContainer">
<label>Checkbox Label</label>
<input type="checkbox" />
</wicket:container>
</wicket:panel>
复选框标签
结果(在部署模式下):
另一个选项是Component#setRenderBodyOnly(true)