10

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

4

2 回答 2

17

首先,你不应该用它来包装你的元素,h:gridPanel这会导致 htmltable

相反,您应该用h:panelGroupwhich 结果包装span成 html 代码,您还可以添加layout="block"toh:panelGroup以使其呈现为div

其次,您在隐藏时不使用jstl,div而是执行类似的操作

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

或者

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

在css文件中添加这个:

.hide { 
    display: none;
}

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

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

于 2012-04-17T20:45:29.890 回答
3

你可以这样做:

<div style="display:#{yourBean.property}"></div>

yourBean.property 将返回“none”以隐藏 div 的位置

于 2012-04-17T15:40:48.110 回答