1

プロジェクトでプライムフェイスポップアップを置き換える複合コンポーネントを作成しました。生成された html で本当に悪いものを見つけました。奇妙な ID が表示され、この ID がどこから始まっているのかを見つけることができないため、この ID は複合コンポーネントによって生成されていると思われます。必要なコンテンツだけを更新するには、この ID を削除する必要があります...この ID を生成するこのコンポーネントを無効にする方法はありますか??

説明のために:

<c:interface>
    <c:attribute name="titulo" default="sem titulo" required="false" />
    <c:attribute name="renderizar" default="false" required="false" />
    <c:facet name="conteudo" />
</c:interface>

<c:implementation>
    <h:outputStylesheet library="css" name="hrgiPopup.css" target="head" />
    <h:outputStylesheet library="css" name="clearfix.css" target="head" />
    <h:outputScript library="js" name="hrgiPopup.js" target="head" />
    <h:panelGroup layout="block" rendered="#{cc.attrs.renderizar}"
    class="hrgi-dialog-panel clearfix">
    <h:panelGroup layout="block" class="hrgi-dialog-overlay clearfix"></h:panelGroup>
    <h:panelGroup layout="block" class="hrgi-dialog-box clearfix">
        <h:panelGroup layout="block" class="hrgi-dialog-title clearfix">
            <h:outputLabel style="float:left" value="#{cc.attrs.titulo}" />
        </h:panelGroup>
        <h:panelGroup layout="block" class="hrgi-dialog-background clearfix">
            <h:panelGroup layout="block" class="hrgi-dialog-content clearfix">
                <c:renderFacet name="conteudo" required="true" />
            </h:panelGroup>
        </h:panelGroup>
    </h:panelGroup>
</h:panelGroup>

4

1 に答える 1

1

JSFが自動生成しないように、複合コンポーネントに固定IDを指定するだけです。

<hrgi:dialog id="foo" />

いいえ、無効にすることはできません。そうしないと、同じビューで複数の複合コンポーネントを使用することはできません。別の方法は、代わりにFaceletsタグファイルを使用することです。しかし、これでは、きめ細かい宣言や、属性、アクション、ファセットなどのより適切な定義はできません。

于 2011-12-10T18:58:02.077 に答える