我有一个复合组件(导航栏),它采用一个名为“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
。相反,我需要从实现模板的页面传回此值,该模板又将其传递给上面的代码。
答案 0 :(得分:4)
使用<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}"/>