Я использую калитку RepeatingView
для реализации списка предметов. HTML выглядит следующим образом:Wicket RepeatingView: удалить заполнитель, если список пуст
<ul>
<li wicket:id="listItemFoo">
...content...
</li>
</ul>
И на Java бэкэнда я:
RepeatingView listFoo = new RepeatingView("listItemFoo");
//put items inside listFoo
addOrReplace(listFoo);
Это работает corretly, но есть одна проблема. В моем приложении есть случаи, когда в список нет элементов, которые нужно добавить. В этом случае я бы хотел, чтобы ретранслятор ничего не выводил. Однако это не так: если ретранслятор пуст, он все равно выдает один, пустой <li></li>
. Это раздражает, потому что на странице отображается пустая точка. Каков правильный способ избежать этого? (Я знаю, что это может быть тривиально, но я очень новичок в калитке, как вы, вероятно, можете сказать)
Upvoted, хотя я нашел более быстрый способ, который я закончил с использованием (см мой собственный ответ) –
Вы также можете сделать 'view.setVisible (CollectionUtils.isNotEmpty (список))' –
Вы правы МАРТИН-г, но это означает, что вы всегда устанавливаете его на видимый, если он не пуст, это может помешать сделать его невидимым в другом месте. – Martin