Java Wicket ListView:不输出“;货柜;标签

Java Wicket ListView:不输出“;货柜;标签,java,html,wicket,wicket-6,Java,Html,Wicket,Wicket 6,我试图在Wicket 6中创建一个ListView或一个Repeater,以便输出如下项目列表: <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 secon

我试图在
Wicket 6
中创建一个
ListView
或一个
Repeater
,以便输出如下项目列表:

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

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

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

...
<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")));
        }           
   });
添加(新的ListView(“listViewItems”,MyListFitems){ @凌驾 受保护的void populateItem(列表项){ 添加(新标签(“标题”,新属性模型(item.getModel(),“标题”)); 添加(新标签(“内容”,新属性模型(item.getModel(),“内容”)); } }); 我得到的结果是:

<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包装每个标题/内容对。我希望列表是“平坦”的,就像我上面的例子一样


如何实现这一点?

您可以为
列表视图提供
setRenderBodyOnly(true)
,或者在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>

您可以为
ListView
提供
setRenderBodyOnly(true)
,或者在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>


您必须在ListView的项上调用setRenderBodyOnly(true),您可以为此重写newItem()。但是,您必须在ListView的项上调用setRenderBodyOnly(true),您可以为此重写newItem()。