我在我的主要面孔项目中使用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方法。

08-04 19:42