0

h:ouputLinkバッキングBeanのブール値に基づいてベースを非表示にするにはどうすればよいですか?

無効にするために、私は次のようにします:

<h:commandButton disabled="#{backing.property}" />

しかし、どうすれば完全に隠すことができますか?

4

1 に答える 1

2

と:

<h:commandButton id="myComponent" rendered="#{backing.property}" />

すみません、私のせいです。h:outputLinkを検索していました。h:outputLinkh: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仕様を参照してください。

于 2012-11-08T14:45:17.370 に答える