Wicket ListView:不输出“container”标签

时间:2017-01-05 09:36:06

标签: java html wicket wicket-6

我正在尝试在ListView中创建RepeaterWicket 6,以便输出这样的项目列表:

<div class="header">My first header</div>
<div class="content">My first content</div>

<div class="header">My second header</div>
<div class="content">My second content</div>

<div class="header">My third header</div>
<div class="content">My third content</div>

...

我尝试使用像这样的ListView:

<div wicket:id="listViewItems">
    <div class="header" wicket:id="header"></div>
    <div class="content" wicket:id="content"></div>
</div>

并像这样填充:

add(new ListView<MyItem>("listViewItems", myListOfItems) {
        @Override
        protected void populateItem(ListItem<MyItem> item) {
            item.add(new Label("header", new PropertyModel(item.getModel(), "header")));
            item.add(new Label("content", new PropertyModel(item.getModel(), "content")));
        }           
   });

我得到的输出是:

<div>
    <div class="header">My first header</div>
    <div class="content">My first content</div>
</div>

<div>
    <div class="header">My second header</div>
    <div class="content">My second content</div>
</div>

<div>
    <div class="header">My third header</div>
    <div class="content">My third content</div>
</div>

问题在于:我不希望那些包含每个标题/内容对的外部div 。我希望列表像我上面的例子一样“平坦”。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:4)

您可以为setRenderBodyOnly(true)提供ListView或在HTML中使用wicket:container而不是div

如下所示

<wicket:container wicket:id="listViewItems">
    <div class="header" wicket:id="header"></div>
    <div class="content" wicket:id="content"></div>
</wicket:container>