Как не сделать весь блок в JSF?
Существует ли компонент JSF 2.1, который позволяет мне условно отображать (или не отображать) весь его контент? Что-то вроде
<h:component rendered="#{user.loggedIn}">
...a bunch of jsf components and HTML code...
...even more HTML code...
</h:component>
Я использую PrimeFaces 3M4, так как это может повлиять на ваш ответ!
2 ответа
<h:panelGroup>
Если вы установите attribite layout="block"
, у вас будет <div>
тег
В противном случае у вас есть <span>
тег.
Как правило, большинство компонентов jsf поддерживают атрибут render (в некоторых случаях это не касается), такие компоненты контейнера, как h:panelGrid or h:panelGroup
поддерживает визуализированный атрибут, и если его значение равно false, то все его дочерние элементы тоже будут скрыты
То же самое относится и к компонентам простых лиц, и если нет, то это, вероятно, ошибка (я думаю, что была проблема с tabview простых лиц)
Вот ссылка на руководство пользователя Primefaces, здесь вы можете найти поддерживаемые атрибуты всех компонентов Primefaces. Руководство пользователя для 3.0.M4