h:ouputLink
バッキングBeanのブール値に基づいてベースを非表示にするにはどうすればよいですか?
無効にするために、私は次のようにします:
<h:commandButton disabled="#{backing.property}" />
しかし、どうすれば完全に隠すことができますか?
h:ouputLink
バッキングBeanのブール値に基づいてベースを非表示にするにはどうすればよいですか?
無効にするために、私は次のようにします:
<h:commandButton disabled="#{backing.property}" />
しかし、どうすれば完全に隠すことができますか?
と:
<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リクエストを使用して)更新を行う必要があることを意味します。
<h:panelGrid id="myPanelGrid">
....
<h:outputLink id="myComponent" rendered="#{backing.property}" />
....
<h:panelGrid>
<h:commandButton value="show" action="#{backing.setPropertyToTrueMethod}" update="myPanelGrid" />
API仕様については、JavaTMプラットフォーム、Enterprise Edition6API仕様を参照してください。