This content has been marked as final.
Show 3 replies
-
1. Re: Multiple tab panels and backing bean for each of them
anandsaranath May 12, 2009 1:34 PM (in response to anandsaranath)I forgot to mention that all the beans are request scoped.
-
2. Re: Multiple tab panels and backing bean for each of them
anandsaranath May 13, 2009 12:10 AM (in response to anandsaranath)<rich:tabPanel switchType="ajax" selectedTab="#{SOV_ValueChangeListener.jobsTab}" valueChangeListener="#{SOV_ValueChangeListener.jobsTabValueChanged}"> <c:forEach items="#{SOV_Queues.queueNames}" var="queue"> <rich:tab label="#{queue}" switchType="ajax" id="queueTab_#{queue}"> <a4j:support event="ontabenter" ajaxSingle="true" reRender="queue_#{queue}"> <a4j:actionparam assignTo="#{SOV_SpecificQueueBean.queueName}" value="#{queue}" actionListener="#{SOV_SpecificQueueBean.queryJobs}"/> </a4j:support> <a4j:outputPanel id="queue_#{queue}"> <ui:include src="/jsf/sov/queueJobs.xhtml"/> </a4j:outputPanel> </rich:tab> </c:forEach> </rich:tabPanel>
In the above code, the tabs are dynamically generated. I changed the scope of the SpecificQueueBean from session to request. I am pre-fetching the intial tab's value from the backend and it gets displayed as part of the queueJobs.xhtml page. When I switch the tab, I also see the action listener fired. But, after the listener has completed its work, I see the Queues object getting constructed again and the SpecificQueueBean constructed again.
I am not sure why the tab panel gets rendered again. Since I have an a4j:OutputPanel and have ajaxSingle as true in a4j:support attached to the rich:tab, shouldn't the output panel be the only one that should be re-rendered?
I am confused.
Please help!
Regards
Anand -
3. Re: Multiple tab panels and backing bean for each of them
ilya_shaikovsky May 13, 2009 5:36 AM (in response to anandsaranath)you could use limittolist attribuite in order to completelly limit the rendering of the components which tries to be automatically updated (should works with 3.3.1 codebase)