0

primefaces lazydatamodel のロードのオーバーライドに問題があります。エラーは load メソッドを指しています。私はプライムフェイス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 に答える