如何在JSF中隐藏元素?

Luc*_*uke 9 jsf

是否可以div根据条件隐藏等等(就像你在EL中使用渲染属性一样),而不必将其包装在<h:panelGrid ...>具有渲染属性的etc中?它破坏了我的布局.我只需要逻辑,而不是布局.

Dan*_*iel 14

首先,你不应该将你的元素包装h:gridPanel成html的结果table

相反,你应该换用h:panelGroup导致spanHTML代码中,你也可以添加layout="block"h:panelGroup使它呈现为div

第二,你不要在隐藏时使用jstl,div而是做这样的事情

<div style="display:#{(myBean.hideSomeDiv)?'none':'block'}">My Div Content</div>
Run Code Online (Sandbox Code Playgroud)

要么

<h:panelGroup styleClass="#{(myBean.hideSomeDiv)?'hide':''">My Span Content</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)

在css文件中添加这个:

.hide { 
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

INMO你总是更好地隐藏在JSF中rendered="#{myBean.renderCondition}"

看看这里的BalusC 有条件地显示JSF组件