防止Wicket为容器元素生成HTML?

防止Wicket为容器元素生成HTML?,html,wicket,Html,Wicket,我遇到了一个Wicket为元素生成标记的问题,这些元素在编程上需要存在,但在结构上不需要。它没有把任何东西弄乱,但我喜欢尽可能保持页面整洁。应该注意的是,我是一名前端开发人员,所以如果可能的话,我希望不要接触java文件 假设我有以下HTML,它是组件模板的一部分: <ul class="configList" wicket:id="rows"> <li wicket:id="cols"> <div wicket:id="checkBoxTh

我遇到了一个Wicket为元素生成标记的问题,这些元素在编程上需要存在,但在结构上不需要。它没有把任何东西弄乱,但我喜欢尽可能保持页面整洁。应该注意的是,我是一名前端开发人员,所以如果可能的话,我希望不要接触java文件

假设我有以下HTML,它是组件模板的一部分:

<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)