我在为rich:dataTable定义绑定bean时遇到一些问题。
datatable的内容已经在XHTML中定义,我只想使用绑定稍后再读回行,以便可以将表内容导出为PDF。
在我的XHTML文件中,
<rich:dataTable ... binding="#{backingBean.tableBinding}">
然后,在我的支持bean中,声明一个成员:
import org.richfaces.component.html.HtmlDataTable;
class BackingBean {
private HtmlDataTable tableBinding ;
public BackingBean() {
tableBinding = new HtmlDataTable() ;
}
// ... (incl. getters and setters for binding)
} ;
但是,这导致:
java.lang.NullPointerException
在javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:809)
当我尝试加载页面时。除了简单地构造变量之外,我还需要对HtmlDataTable变量进行处理吗?甚至可以按照我在此处使用的方式使用binding属性吗?
最佳答案
不要在构造函数中自己创建HtmlDataTable的实例。 RichFaces将创建一个实例并将其注入到您的BackingBean中。您只需要一个公共获取者和安装者即可。