Java 绑定rich:dataTable时遇到问题

Java 绑定rich:dataTable时遇到问题,java,jsf,binding,richfaces,Java,Jsf,Binding,Richfaces,我在为rich:dataTable定义绑定bean时遇到了一些问题 datatable的内容已经在XHTML中定义,我只想稍后使用绑定读取行,以便将表内容导出为PDF 在我的XHTML文件中,我将 <rich:dataTable ... binding="#{backingBean.tableBinding}"> 然而,这导致: java.lang.NullPointerException 位于javax.faces.component.UIComponentBase.encode

我在为rich:dataTable定义绑定bean时遇到了一些问题

datatable的内容已经在XHTML中定义,我只想稍后使用绑定读取行,以便将表内容导出为PDF

在我的XHTML文件中,我将

<rich:dataTable ... binding="#{backingBean.tableBinding}">
然而,这导致:

java.lang.NullPointerException 位于javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:809)


当我尝试加载页面时。除了简单地构造HtmlDataTable变量之外,我还需要做些什么?甚至可以按照我在这里想要的方式使用binding属性吗?

不要自己在构造函数中创建HtmlDataTable的实例。RichFaces将创建一个实例并将其注入到BackingBean中。你所需要的只是一个公众的接受者和接受者

import org.richfaces.component.html.HtmlDataTable;
class BackingBean {
   private HtmlDataTable tableBinding ;
   public BackingBean() {
      tableBinding = new HtmlDataTable() ;
   }
   // ... (incl. getters and setters for binding)
 } ;