Wicket RepeatingView:如果列表为空,则删除占位符

时间:2016-05-24 08:11:36

标签: java html wicket wicket-6

我正在使用wicket RepeatingView来实现项目列表。 HTML如下:

<ul>
    <li wicket:id="listItemFoo">
        ...content...
    </li>
</ul>

在java后端我做:

RepeatingView listFoo = new RepeatingView("listItemFoo");
//put items inside listFoo
addOrReplace(listFoo);

这是正确的,但它有一个问题。在我的应用程序中有些情况下没有要添加到列表中的项目。在那种情况下,我希望转发器不输出任何内容。但是,情况并非如此:如果转发器处于空状态,它仍会输出一个空的<li></li>。 这很烦人,因为它在页面中显示一个空的项目符号点。避免这种情况的正确方法是什么? (我知道这可能是微不足道的,但是你可能会告诉我对wicket很新)

2 个答案:

答案 0 :(得分:3)

我解决了这个问题:

<ul>
    <wicket:container wicket:id="listItemFoo">
        <li>
            ...content...
        </li>
    </wicket:container>                         
</ul>

这样,当列表为空时,甚至不会生成容器。

答案 1 :(得分:1)

您可以在容器中添加RepeatingView,并在列表为空时将其变为不可见。

<ul wicket:id="listItemFooContainer">
    <li wicket:id="listItemFoo">
    ...

在html中你可以这样做:

<div wicket:id="listItemFooContainer">
<ul>
    <li wicket:id="listItemFoo">
    ... 

或者这样做

{{1}}