我正在使用Richfaces 4并希望使用rich:collapsiblePanel在其他表(tab1)行中显示表(tab2)。
由于我正在使用大型数据集,我希望只有在展开面板时才会调用填充tab2中的行的EJB方法。它是正确的,如果面板关闭,“tab2”不会在DOM中呈现,而是调用填充tab2的EJB方法。
这仍然是Richfaces4中的错误,还是我以错误的方式使用了collapsiblePanel。
<rich:dataTable id="tab1" value="#{controller.tab1.wrappedData}" var="row">
<rich:column ....>
<rich:collapsiblePanel header="tabs" expanded="false" switchType="ajax" rendered="#{row.someBool}">
<rich:dataTable value="#{controller2.getValues(row.id)}" var="tab2row">
<rich:column>
<h:outputText value="#{tab2row.name}" />
</rich:column>
</rich:dataTable>
</rich:collapsiblePanel>
</rich:column>
</rich:dataTable>
我的问题是,如果最初呈现页面并关闭所有面板,则会调用outputText的getter。