0

我在覆盖primefaceslazydatamodel的负载时遇到问题。错误点在加载方法上。我正在使用primefaces 5.0。在 Jboss Developer Studio 7.1 中工作

 private LazyDataModel<City> mdlCityList;
    @PostConstruct
        public void init() {
            try {
                this.mdlCityList = new LazyDataModel<City>() {
                    private static final long serialVersionUID = 1L;

                    @Override
                    public List<City> load(int first, int pageSize,
                            String sortField, SortOrder sortOrder,
                            Map<String, String> filters) {
                        mdlCityList.setRowCount(cityFacade.count(filters));
                        return cityFacade.getResultList(first, pageSize, sortField,
                                sortOrder, filters);
                    }
                };
                mdlCityList.setRowCount(cityFacade
                        .count(new HashMap<String, String>()));
            } catch (Exception e) {
                System.out.println("Exception in CityListProducer " + e);
            }
        }

如您所见,我正在实现@Override,但它仍然指出:

new LazyDataModel(){} 类型的方法 load(int, int, String, SortOrder, Map) 必须覆盖或实现超类型方法

4

1 回答 1

12

现在在 PF 5 中的覆盖方法应该看起来

public List<Car> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String,Object> filters)

反而

public List<Car> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String,String> filters)

Map<String,Object>而是Map<String,String>在你的方法中

看例子http://www.primefaces.org/showcase/ui/data/datatable/lazy.xhtml

于 2014-09-20T08:22:47.943 回答