2011-10-27 38 views
1

我想在preRender Fase期间呈现/不呈现表格。我使用的jdev 10.3.1.4在Oracle ADF中获取表格的呈现属性时出错

我建立了一个表,“绘制的”属性设置是这样的:

<af:table binding="#{backingBean.table1}" banding="row" 
       rendered="#{backingBean.table1.rendered}"> 

在支持bean我做

protected void onPagePreRender(PagePhaseEvent event) { 
    getTable1().setRendered(false); 
    AdfFacesContext.getCurrentInstance().addPartialTarget(getTable1()); 
} 

,我不断得到错误Error getting property 'rendered' from bean of type oracle.adf.view.faces.component.core.data.CoreTable

我该如何解决这个问题?

回答

3

删除rendered属性。它基本上是在无限循环中引用自己。如果您已通过binding引用的组件对其进行编程操作,则不需要它。

如果你真的打算使用rendered属性,正确的用法是:

<af:table binding="#{backingBean.table1}" banding="row" 
    rendered="#{backingBean.rendered}"> 

private boolean rendered = true; 

protected void onPagePreRender(PagePhaseEvent event) { 
    rendered = false; 
    AdfFacesContext.getCurrentInstance().addPartialTarget(getTable1()); 
} 

public boolean isRendered() { 
    return rendered; 
}