1

我正在尝试在 preRender Fase 期间渲染/不渲染表格。我正在使用 jDev 10.3.1.4

我设置了一个带有“渲染”属性的表,如下所示:

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

在我做的支持豆中

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

我该如何解决这个问题?

4

1 回答 1

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;
}
于 2011-10-27T13:24:42.697 回答