2011-12-10 8 views
1

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

<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> 

答えて

1

JSFがそれを自動生成しないようにするだけの複合成分を、固定のIDを与えます。

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

+2

JSFが必要とするのは、faceletsタグのように機能するものの、インターフェースを備え、複合コンポーネントのように自動認識されるものです。 –

+0

ありがとうBalusc。私はそれを単に忘れたとは信じられません。 :) – brevleq

関連する問題