我有两个实现相同接口(BeanA,BeanB)的bean (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,也没有数据。
提前谢谢你。
发布于 2015-09-03 12:01:43
抱歉,我觉得很惭愧。
问题是: var="row“我没有意识到我在<p:columns>标记中使用了不同的名称,而不是primefaces,也没有告诉我我使用的是不同的名称。
这个故事的寓意是:总是检查两次您在这里使用相同的属性名
<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不会告诉您您做错了什么:)
诚挚的问候
发布于 2015-09-03 08:02:12
它是值{modelBeanMB.myIBeanList}的normal.Because,empty.You应该填充方法。
https://stackoverflow.com/questions/32369816
复制相似问题