write in showcase.xhtml
Code: Select all
<h:form id="articlesForm">
<p:tabView id="tabView" var="category" value="#{showcaseBean.categories}" onTabChange="tabChanged()">
<p:ajax event="tabChange" listener="#{showcaseBean.onChange}" />
...
</p:tabView>
<p:remoteCommand name="tabChanged" action="switchTab"/>
ShowcaseBean:
Code: Select all
public void onChange(TabChangeEvent event)
{
chosenCategory = (Category)event.getData();
}
my-flow.xml
Code: Select all
<var name="showcaseBean" class="my.backing.ShowcaseBean"/>
<view-state id="showcase" view="showcase.xhtml" >
<transition on="switchTab">
<evaluate expression="showcaseBean.fetchArticlesForChosenCategory(showcaseService)"/>
</transition>
</view-state>
Foe example we need to read data from database on page start. So we can add
Code: Select all
<script type="text/javascript">
window.onload = function ()
{
updateTabs();
}
</script>
and this updateTabs() invokes
Code: Select all
<p:remoteCommand name="updateTabs" action="actionForMyFlowDefinitionFile"/>