4

「activeIndex」という変数を使用して、アクティブなタブを(明らかに)決定する複合コンポーネント(ナビゲーションバー)があります。ナビゲーション バーは、次のような属性を持つ複合コンポーネントです。

<!-- INTERFACE -->
<cc:interface>
    <cc:attribute name="tab"/>
</cc:interface>

<!-- IMPLEMENTATION -->
<cc:implementation>

    <pou:tabMenu activeIndex="#{cc.attrs.tab}" 
                 styleClass="margin-top-52">  

        <pou:menuitem value="Home" url="#" />  
        <pou:menuitem value="About" url="#"/> 
        <pou:menuitem value="iConsult" url="#"/> 
        <pou:menuitem value="Contact" url="#"/>  

    </pou:tabMenu> 

</cc:implementation>

ここから、次を使用してアクティブなタブを渡すことができます。

<!-- Composite Navigation -->
<ez:anonymous-navigation tab="2"/>

問題は、上記のコードが template.xhtml に配置されており、テンプレートでタブ値を指定したくないことです2。代わりに、テンプレートを実装するページからこの値を返す必要があります。テンプレートは、それを上記のコードに渡します。

4

1 に答える 1

5

を使用し<ui:param>ます。キックオフの例を次に示します。

client.xhtml:

<ui:composition template="/WEB-INF/template.xhtml"
    xmlns="..."
>
    <ui:param name="tab" value="2" />
    ...
</ui:composition>

/WEB-INF/template.xhtml:

<ez:anonymous-navigation tab="#{tab}"/>
于 2012-09-28T12:07:25.640 に答える