我碰巧不明白为什么我的加载方法没有在我的 primefaces 表的惰性数据模型中调用。我的 xhtml 页面是这样的
<h:form id="myForm">
<p:dataTable value="#{myBean.configDataModel}"
id="configTable" var="config" paginator="true" rows="10"
selectionMode="single"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,20">
.
.
</h:form>
我的 Bean 代码如下所示并放置了 system.out.println 语句,但我注意到它没有被调用。
public class MyBean{
// private List<MyBean> configList;
private LazyDataModel<MyBean> configDataModel;
@SuppressWarnings("serial")
public LazyDataModel<MyBean> getConfigDataModel() {
if (configDataModel == null) {
configDataModel = new LazyDataModel<MyBean>() {
@Override
public List<MyBean> load(int arg0, int arg1, String arg2,
SortOrder arg3, Map<String, String> arg4) {
System.out.println("Here!!!!!");
return null;
}
};
}
return configDataModel;
}
public void setConfigDataModel(LazyDataModel<MyBean> configDataModel) {
this.configDataModel = configDataModel;
}
}
可能是什么原因?
从 PrimeFaces 3.3 开始,您需要显式设置lazy
重复组件的属性为true
为了能够支持LazyDataModel
.
<p:dataTable ... lazy="true">
也可以看看:
- PrimeFaces 展示 - 数据表 - 延迟加载 https://www.primefaces.org/showcase/ui/data/datatable/lazy.xhtml
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)