In a Tabpanel each Tab's content is fetched from the server by ajax (using the switchType="ajax"
attribute) so that all the content does not have to be fetched at the start. After the content is fetched once, though, it should not be fetched from the server again since the content is already present on the page. The content of the Tab should should just be toggled between display:none
and display:block
as it would be if the switchType
were set to client
Is there a way to tell JSF/Richfaces not to send the second ajax request if the content has already been fetched and instead just toggle the visibility?
Asked onther way: is it possible to use the switchType="ajax"
on the first request and switchType="client"
for the following requests?
You'll have to keep a flag for every tab that decides the switchType, e.g.
<rich:tab header="tab1" action="#{bean.switchTab(0)}"
switchType="#{bean.tabList[0] ? 'client' : 'ajax'}">Content</rich:tab>
You'll start with switchType="ajax"
but when you load the tab it will be rerendered with switchType="client"
.