我有2个bean(BeanA,BeanB)实现相同的接口(IBean)。
我要做的是显示<p:datatable>
一个IBean列表(List<IBean>
)。
这里是示例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被填充,该表仍具有连接(列和行)但不包含数据。
提前谢谢。
答案 0 :(得分:0)
抱歉,我感到很惭愧。
问题是这样的:
VAR =&#34;排&#34;
我没有意识到我在<p:columns>
标签中使用了不同的名称,而不是主要表面,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不会告诉你你做错了什么:)
祝你好运
答案 1 :(得分:-1)
它是正常的。因为你的值 {modelBeanMB.myIBeanList} 而且它是空的。你应该填写方法。