我剛在應用程序中發現了一個奇怪的行爲。Databable在tabpanel中的非活動選項卡中初始化值
我們有一個豐富的:tabPanel switchType =「ajax」帶有多個選項卡。每個選項卡都包含一個rich:dataTable和一個帶有a4j:form的編輯表單。
現在,當我們請求頁面時,第一個選項卡被渲染並且數據表被初始化。到現在爲止還挺好。 用戶現在可以單擊編輯鏈接(a4j:commandLink)來重新編輯所選實體的編輯表單,並且表單被正確地重新編輯。
但是:除此之外,我們從其他選項卡上的數據表中獲取查詢...即使選項卡不活動,富數據表也會初始化。由於選項卡處於非活動狀態而未呈現 奇怪的是,如果我使用普通的h:dataTable,問題就會消失,即沒有爲此結果列表提取結果列表。
到目前爲止,我有兩個解決方法:
如果我使用限於列表上EDITLINK似乎處理部分工作正常,但是這將意味着,我們要適應所有CommandButton控件/鏈接和全球消息停止工作,如果我不包括它的ID到重新呈現屬性...
我可以選擇的選項卡綁定到後臺bean,並以S僅渲染活動標籤的內容:片段
雖然第二種解決方案非常簡單,現在我正在使用這個解決方案,但我仍在尋求解釋。
有沒有人遇到過這種行爲,並且對此有何解釋?
感謝 馬丁