Я использую Seam 2.1.2 и RichFaces 3.3.2.SR1.
<a4j:form>
<rich:tabPanel switchType="ajax">
<rich:tab label="TAB 1" actionListener="#{outControl.tab1}" immediate="true">
<ui:include src="/pages/agenda/TabContain.xhtml" />
</rich:tab>
<rich:tab label="TAB 2" actionListener="#{outControl.tab2}">
<ui:include src="/pages/agenda/TabContain.xhtml" />
</rich:tab>
...
TabContain.xhtml:
<rich:extendedDataTable value="#{manBean.seDataModel}" var="out" id="bc_table"
sortMode="#{manBean.sortMode}" selectionMode="#{manBean.selectionMode}"
tableState="#{manBean.tableState}" selection="#{manBean.selection}"
rowKeyVar="rkvar">
<rich:column sortable="false" id="bc_col_0">
...
Содержимое extendedDataTable
должно зависеть от выбранной вкладки. Мой первый подход заключался в том, чтобы установить actionListener
на вкладках и изменить manBean
в этом действии. После этого actionListener
даже если я вижу в логах, что manBean
изменился, это не отражается на странице в браузере. Как будто не освежает. Я пытался установить rerender
в rich:tab
, но это тоже не работает.
Любая идея? Также доволен другими подходами, это может быть не лучшим.