Отображение включения / выключения различных областей HTML
То, что я пытаюсь сделать, - это взять часть кода / HTML и сказать JSF, включать ее или нет в окончательный рендеринг. Я возился с тегом <ui:remove>
, но это всегда будет удалять содержимое.
Вот что я пытаюсь не включать:
<li><h:commandLink value="Create an Account" action="createUser"/></li>
<li><h:commandLink value="Login" action="login"/></li>
Мне нужно что-то обернуть вокруг этого, что будет включать его на основе rendered = true/false. Я хочу, чтобы он не включал в себя какой-либо раздутый код, такой как div, таблица и т. д.
1 ответ:
Надеюсь, я правильно понял ваш вопрос, Вы пробовали эти компоненты с атрибутомrendered ?
Пример:
<h:panelGroup rendered="#{bean.display}"> <li><h:commandLink value="Create an Account" action="createUser"/></li> <li><h:commandLink value="Login" action="login"/></li> </h:panelGroup> <h:panelGrid rendered="#{bean.display}"> <li><h:commandLink value="Create an Account" action="createUser"/></li> <li><h:commandLink value="Login" action="login"/></li> </h:panelGrid> <rich:panel rendered="#{bean.display}"> <li><h:commandLink value="Create an Account" action="createUser"/></li> <li><h:commandLink value="Login" action="login"/></li> </rich:panel>
'display' - это булево свойство, определенное в JavaBean, которое используется для управления видимостью кода XHTML.
Еще один тег, который вы можете использовать, это
<ui:include>
, это может помочь вам лучше организовать ваш код, когда раздел кода XHTML достаточно велик, чтобы поместить в другой .код XHTML.<ui:include src="yourPath.xhtml" rendered="#{bean.display}"> </ui:include>
Для
<ui:remove>
, я обычно использую его временно закомментируйте код как<!-- XHTML code -->
.