如何根据支持bean中的布尔值隐藏h:ouputLink
?
对于禁用我会这样:
<h:commandButton disabled="#{backing.property}" />
但我怎么能完全隐藏?
答案 0 :(得分:2)
使用:
<h:commandButton id="myComponent" rendered="#{backing.property}" />
对不起,我的错。您正在搜索h:outputLink。因为 h:outputLink 和 h:commandButton 都派生自UIComponentBase,所以两个派生类都使用方法isRendered()
并且您不需要包装在某种面板中使用commandLink。
<h:outputLink rendered="#{backing.property}" />
<强>更新强>
myComponent 将被“隐藏”,因为它不会被渲染。 不要渲染 myComponent 意味着您需要在围绕 myComponent 的UIComponent上进行更新(例如,使用ajax请求),如下所示:< / p>
<h:panelGrid id="myPanelGrid">
....
<h:outputLink id="myComponent" rendered="#{backing.property}" />
....
<h:panelGrid>
<h:commandButton value="show" action="#{backing.setPropertyToTrueMethod}" update="myPanelGrid" />
参见API规范:JavaTM Platform, Enterprise Edition 6 API Specification