We are using the rich tabPanel that looks like this:
<rich:tabPanel switchType="server" selectedTab="#{myListsListController.selectedEntityString}" valueChangeListener="#{myListsListController.tabChanged}"> <rich:tab id="tab1" label="#{pageLabels.tab_accounts}" name="Account" > <%@include file="landslide-mylists-list-include.jsp"%> </rich:tab> <rich:tab id="tab2" label="#{pageLabels.tab_opps}" name="Opportunity"> <%@include file="landslide-mylists-list-include.jsp"%> </rich:tab> <rich:tab id="tab3" label="#{pageLabels.tab_contacts}" name="Contact"> <%@include file="landslide-mylists-list-include.jsp"%> </rich:tab> <rich:tab id="tab4" label="#{pageLabels.tab_leads}" name="Lead"> <%@include file="landslide-mylists-list-include.jsp"%> </rich:tab> </rich:tabPanel>
I think I found the issue. My controller class is request scoped and I am using the a4j:keepAlive to give it "conversation" scope. I guess the tabPanel does not like that.