0

パネルを動的に作成し、「ui-icon-pencil」などのアイコンをヘッダー パネルにも動的に追加したいと考えています。f:facet タグでできることはわかりましたが、このタグを動的に追加する方法がわかりません。多分提案?

Java コードを含むこの XHTML 構造が必要です。

<p:panel id="pnl">  
    <f:facet name="options">  
        <h:outputText value="Panel 1"/>
        <p:menuitem value="Edit" url="#" icon="ui-icon-pencil"/>
    </f:facet>
</p:panel>

そして、MenuItem にクリック リスナーが必要です。

4

1 に答える 1

3

で使用可能なマップにファセットを配置することにより、プログラムでコンポーネントにファセットを追加できますUIComponent#getFacets()

したがって、これに相当するJavaは次のとおりです。

<p:panel>
    <f:facet name="header"><h:outputText value="bar" /></f:facet>
</p:panel>

次のようになります。

Panel panel = new Panel();
UIOutput header = new HtmlOutputText();
header.setValue("bar");
panel.getFacets().put("header", header);
于 2013-09-04T14:13:27.337 に答える