我刚在应用程序中发现了一个奇怪的行为。Databable在tabpanel中的非活动选项卡中初始化值
我们有一个丰富的:tabPanel switchType =“ajax”带有多个选项卡。每个选项卡都包含一个rich:dataTable和一个带有a4j:form的编辑表单。
现在,当我们请求页面时,第一个选项卡被渲染并且数据表被初始化。到现在为止还挺好。 用户现在可以单击编辑链接(a4j:commandLink)来重新编辑所选实体的编辑表单,并且表单被正确地重新编辑。
但是:除此之外,我们从其他选项卡上的数据表中获取查询...即使选项卡不活动,富数据表也会初始化。由于选项卡处于非活动状态而未呈现 奇怪的是,如果我使用普通的h:dataTable,问题就会消失,即没有为此结果列表提取结果列表。
到目前为止,我有两个解决方法:
如果我使用限于列表上EDITLINK似乎处理部分工作正常,但是这将意味着,我们要适应所有CommandButton控件/链接和全球消息停止工作,如果我不包括它的ID到重新呈现属性...
我可以选择的选项卡绑定到后台bean,并以S仅渲染活动标签的内容:片段
虽然第二种解决方案非常简单,现在我正在使用这个解决方案,但我仍在寻求解释。
有没有人遇到过这种行为,并且对此有何解释?
感谢 马丁