rich: tabPanel загружает данные всех вкладок при переключении вкладок

У меня есть в моем файле пользовательского интерфейса, для которого switchType установлен на ajax. Он имеет 4 вкладки. Проблема в том, что когда я нажимаю на tab1, он загружает данные tab1. Но когда я нажимаю на вкладку 2, он загружает данные вкладки 1 и вкладки 2. При нажатии на tab3 загружаются данные tab1, tab2 и tab3. И так далее. Как я могу избежать такого поведения? Он должен загружать данные только выбранной (или нажатой) вкладки, а не всех вкладок перед ней.

Я использую RichFaces 4 и JSF 2.0.

Ниже приведен код:

<rich:tabPanel  status="loadingMask" id="tabPanelTest" switchType="ajax" style="height:80%;width:100%;padding-top:5px">
        <a4j:ajax event="itemchange"  render="tabPanelTest" />
        <rich:tab header="Tab 1" id="TAB 1">
            <h:panelGroup layout="block" style="height:100%;width:100%;" id="tab1view">
                <ui:include src="tab-1-file.xhtml"/>
            </h:panelGroup>
        </rich:tab>
        <rich:tab header="Tab 2" id="TAB 2">
            <h:panelGroup layout="block" style="height:100%;width:100%;" id="tab2view">
                <ui:include src="components/tab-2-file.xhtml"/>
            </h:panelGroup>
        </rich:tab>
        <rich:tab header="Tab 3" id="TAB 3">
            <h:panelGroup layout="block" style="height:100%;width:100%;" id="tab3view">
                <ui:include src="tab-3-file.xhtml"/>
            </h:panelGroup>
        </rich:tab>
        <rich:tab header="Tab 4" id="TAB 4">
            <h:panelGroup layout="block" style="height:100%;width:100%;" id="tab4view">
                <ui:include src="tab-4-file.xhtml"/>
            </h:panelGroup>
        </rich:tab>             
</rich:tabPanel>

person Vamsee Krishna    schedule 30.08.2013    source источник
comment
Что именно вы имеете в виду под загрузкой данных? Откуда ты это знаешь ? (вы должны видеть только одну панель). А вы пробовали без <a4j:ajax>? Я думаю, что это не нужно, и тот факт, что вы визуализируете всю панель, может вызвать такое поведение.   -  person noone    schedule 01.09.2013
comment
Он также пытается отобразить предыдущие вкладки. Вот что я имел в виду, когда сказал, что загружает данные. Он пытается получить доступ к геттерам всех переменных, которые есть на предыдущих вкладках. Когда я перехожу в режим отладки и нажимаю на tab3, я вижу, как вызываются методы контроллера и геттера для поддерживающих bean-компонентов tab1 и tab2.   -  person Vamsee Krishna    schedule 02.09.2013
comment
Это нормальное поведение я считаю. JSF пробежится по дереву компонентов представлений и выполнит поиск вкладки. Очевидно, он сначала пробежится по первым вкладкам, чтобы найти правильную. Попробуйте работать с rendered="#{...}" и отключите такие неактивные вкладки, чтобы контент больше не был доступен.   -  person noone    schedule 02.09.2013
comment
Дублирующий вопрос. stackoverflow .com/questions/8535634/   -  person Lisa    schedule 29.10.2013