tar*_*rka 4 parameters jsf facelets
我有一个复合组件(导航栏),它使用一个名为“ 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>
Run Code Online (Sandbox Code Playgroud)
所以从这里我可以使用以下方式传递活动选项卡:
<!-- Composite Navigation -->
<ez:anonymous-navigation tab="2"/>
Run Code Online (Sandbox Code Playgroud)
问题是上面的代码放置在template.xhtml中,我不想在模板中指定制表符值2。相反,我需要将此值从实现模板的页面传回,该模板又将其传递给上述代码。
使用<ui:param>。这是一个启动示例:
client.xhtml:
<ui:composition template="/WEB-INF/template.xhtml"
xmlns="..."
>
<ui:param name="tab" value="2" />
...
</ui:composition>
Run Code Online (Sandbox Code Playgroud)
/WEB-INF/template.xhtml:
<ez:anonymous-navigation tab="#{tab}"/>
Run Code Online (Sandbox Code Playgroud)