Jsf 2 Primefaces Datatable无法显示列表

Jsf 2 Primefaces Datatable无法显示列表,jsf-2,primefaces,datatable,Jsf 2,Primefaces,Datatable,我有两个bean BeanA,BeanB实现了相同的接口IBean 我试图做的是在IBean列表的a列表中显示 以下是示例xhtml: <p:dataTable id="table" value="#{modelBeanMB.myIBeanList}" var="row" scrollable="true" emptyMessage="#{msg.emptyDataTable}" scrollHeight="350" > ..... </p:dataTable>

我有两个bean BeanA,BeanB实现了相同的接口IBean

我试图做的是在IBean列表的a列表中显示

以下是示例xhtml:

<p:dataTable 
id="table" 

value="#{modelBeanMB.myIBeanList}" 
var="row"
scrollable="true"
emptyMessage="#{msg.emptyDataTable}"
scrollHeight="350"
>
.....
</p:dataTable>  
我的MB是这样的:

 protected List<IBean> myIBeanList;

 public List<IBean> getMyIBeanList() {
    return myIbeanList;
 }
  public void setMyIBeanList(List<IBean>   myIbeanList) {
    this.myIbeanList= myIbeanList;
 }
奇怪的是,该表显示列表中的所有行,但不显示单个元素值。像这样:

如您所见,该表包含所有列和行,但没有数据,即使BeanA和BeanB已填充


提前谢谢。

这很正常。因为您的值{modelBeanMB.myIBeanList}是空的。您应该填写方法。

对不起,我感到很惭愧

问题是: var=行 我没有意识到我在标记中使用了不同的名称,而不是primefaces,jsf也没有告诉我使用了不同的名称

这个故事的寓意是:始终检查两次您在这里使用的是相同的财产名称

<p:dataTable 
id="table"
value="#{modelBeanMB.myIBeanList}" 
***var="row"***
scrollable="true"
emptyMessage="#{msg.emptyDataTable}"
scrollHeight="350"
>
这里呢

   <p:column header="">
      **#{row.attribute}**
    </p:column>
因为Jsf和primefaces不会告诉您做错了什么:


致以最良好的祝愿

我没有写我填写列表的部分,因为它是无用的,如果列表为空,primefaces不会画任何线。另外,在空列表的情况下,有一个属性emptyMessage用于写入指定的消息。确定了解。如果你写所有的方法,也许我可以帮助你。Getter和setter方法,好吗?这就是为什么你应该**总是**发布一个mcve。。。不要漏掉相关的东西!!!但是不要把不相干的东西留在里面。上面说我得等19个小时