我正在使用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很新)
答案 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}}