Wicket RepeatingView:如果列表为空,则删除占位符
Wicket RepeatingView: delete placeholder if list is empty
我正在使用 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 还很陌生)
您可以将 RepeatingView 添加到容器中,并在列表为空时将其隐藏。
WebMarkupContainer container = new WebMarkupContainer("listItemFooContainer");
RepeatingView listFoo = new RepeatingView("listItemFoo");
// add items here
container.add(listFoo);
if (yourlist.isEmpty()) {
container.setVisible(false);
}
在html中你可以做:
<ul wicket:id="listItemFooContainer">
<li wicket:id="listItemFoo">
...
或者这样做
<div wicket:id="listItemFooContainer">
<ul>
<li wicket:id="listItemFoo">
...
我是这样解决问题的:
<ul>
<wicket:container wicket:id="listItemFoo">
<li>
...content...
</li>
</wicket:container>
</ul>
这样,当列表为空时,甚至不会生成容器。
我正在使用 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 还很陌生)
您可以将 RepeatingView 添加到容器中,并在列表为空时将其隐藏。
WebMarkupContainer container = new WebMarkupContainer("listItemFooContainer");
RepeatingView listFoo = new RepeatingView("listItemFoo");
// add items here
container.add(listFoo);
if (yourlist.isEmpty()) {
container.setVisible(false);
}
在html中你可以做:
<ul wicket:id="listItemFooContainer">
<li wicket:id="listItemFoo">
...
或者这样做
<div wicket:id="listItemFooContainer">
<ul>
<li wicket:id="listItemFoo">
...
我是这样解决问题的:
<ul>
<wicket:container wicket:id="listItemFoo">
<li>
...content...
</li>
</wicket:container>
</ul>
这样,当列表为空时,甚至不会生成容器。