Is it possible to hide a div
etc based on a condition (like you do in rendered attribute with EL) without having to wrap it in a <h:panelGrid ...>
etc with a rendered attribute? It ruins my layout. I just need it for the logic, not the layout.
first of all you should not wrap your elements with h:gridPanel
which results in html table
instead you should wrap with h:panelGroup
which results in span
in html code , you can also add layout="block"
to h:panelGroup
to make it rendered as div
second you dont not use jstl when hiding div
instead do something like this
<div style="display:#{(myBean.hideSomeDiv)?'none':'block'}">My Div Content</div>
or
<h:panelGroup styleClass="#{(myBean.hideSomeDiv)?'hide':''">My Span Content</h:panelGroup>
where in css file add this :
.hide {
display: none;
}
INMO you always better hide in JSF with rendered="#{myBean.renderCondition}"
Take a look at BalusC over here Conditionally displaying JSF components
You could just do this:
<div style="display:#{yourBean.property}"></div>
Where yourBean.property would return 'none' to hide the div
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