I would like to conditionally display the following elements:
<li>
<h:link outcome="mypage" value="My Value" />
</li>
So my condition should determine if the <li>
tag and all it's children would be displayed or not. AFAIK, I can't use <f:verbatim>
because of the UIComponent inside the <li>
tag (<h:link>
).
Any ideas?
There's another reason to not use <f:verbatim>
: it's deprecated in JSF 2.0.
Use <ui:fragment>
. It's semantically more correct than a <h:panelGroup>
(which by itself indeed renders nothing when no client side specific attributes are specified) and has also a bit less overhead.
<ui:fragment rendered="#{bean.show}">
...
</ui:fragment>
(note: due to some bug, Netbeans seems to jerk that this attribute isn't supported, but this is untrue, it's definitely supported)
You can wrap your elements inside a h:panelGroup
and use your condition on the rendered
attribute of the panelgroup.
<h:panelGroup rendered="...">
<li>
<h:link outcome="mypage" value="My Value" />
</li>
<h:panelGroup>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With