我在我的主要面孔项目中使用lazyDataModel来通过主要面孔datable查看一些具有懒惰行为的数据,但这很好。我的问题是我无法在bean中循环或遍历此lazyDataModel,它不返回任何错误,但它的行为就像是一个空列表,因此如何循环遍历lazyDataModel。这是我的代码如下:
LazyDataModel<Supplier> supplierList = SupplierService.getAllSuppliers();
for (Supplier existingSupplier : supplierList) {
if (existingSupplier.getName().equalsIgnoreCase(supplierName) && existingSupplier.getPhone().equalsIgnoreCase(phone)) {
supplierExist = true;
break;
}
}
最佳答案
您不能以这种方式循环LazyDataModel对象。
您可以使用在创建LazyDataModel对象时应该被覆盖的load()方法获取其中包含的对象列表。
创建它时,您应该具有以下代码:
supplierDataModel = new LazyDataModel<Teren>() {
private static final long serialVersionUID = 1L;
@Override
@SuppressWarnings("unchecked")
public List<Supplier> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
return (List<Supplier>) getSupplierListMethod(whatever arguments);
};
然后,要访问其中的对象,可以使用适合您的参数调用前面提到的load方法。