Primefaces Datatable 无法显示 List<interfaces> 的值
Primefaces Datatable cannot display values of List<interfaces>
我有 2 个实现相同接口 (IBean) 的 bean (BeanA,BeanB)。
我想做的是在 <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;
}
奇怪的是 table 显示列表的所有行但不显示单个元素值。像这样:
如您所见,table 包含所有内容(列和行),但即使 BeanA 和 BeanB 已填充,也没有数据。
提前致谢。
它是 normal.Because 你的值 {modelBeanMB.myIBeanList} 它是 empty.You 应该填写在方法中。
对不起,我感到很惭愧
问题是这样的:
变量="row"
我没有意识到我在 <p:columns>
标签中使用了不同的名称而不是 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 不会告诉你哪里做错了:)
此致
我有 2 个实现相同接口 (IBean) 的 bean (BeanA,BeanB)。
我想做的是在 <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;
}
奇怪的是 table 显示列表的所有行但不显示单个元素值。像这样:
如您所见,table 包含所有内容(列和行),但即使 BeanA 和 BeanB 已填充,也没有数据。
提前致谢。
它是 normal.Because 你的值 {modelBeanMB.myIBeanList} 它是 empty.You 应该填写在方法中。
对不起,我感到很惭愧
问题是这样的:
变量="row"
我没有意识到我在 <p:columns>
标签中使用了不同的名称而不是 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 不会告诉你哪里做错了:)
此致