当前位置: 首页 > 知识库问答 >
问题:

分析文件时出错:LazyUserDataModel。Simtay SimpleCRUD上的java

农鸿达
2023-03-14

我最近下载了Simptay的SimpleCRUD应用程序。我在Netbeans 8.0.1上加载了该项目,并添加了必要的库。我得到这个错误:

@重写类上的公共列表加载(int first、int pageSize、String sortField、SortOrder SortOrder、Map过滤器

LazyUserDataModel。JAVA

下面是课堂。

package com.nz.simplecrud.controller;


import com.nz.simplecrud.entity.User;
import com.nz.simplecrud.service.DataAccessService;
import com.nz.simplecrud.util.LazySorter;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.primefaces.model.LazyDataModel;
import org.primefaces.model.SortOrder;

/**
 * 
 * Custom Lazy User DataModel which extends PrimeFaces LazyDataModel.
 * For more information please visit http://www.primefaces.org/showcase-labs/ui/datatableLazy.jsf
 */

public class LazyUserDataModel extends LazyDataModel<User> implements Serializable{

    // Data Source for binding data to the DataTable
    private List<User> datasource;
    // Selected Page size in the DataTable
    private int pageSize;
    // Current row index number
    private int rowIndex;
    // Total row number
    private int rowCount;
    // Data Access Service for create read update delete operations
    private DataAccessService crudService;

    /**
     *
     * @param crudService
     */
    public LazyUserDataModel(DataAccessService crudService) {
        this.crudService = crudService;
    }

    /**
     * Lazy loading user list with sorting ability
     * @param first
     * @param pageSize
     * @param sortField
     * @param sortOrder
     * @param filters
     * @return List<User>
     */ 
    @Override
    public List<User> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String,String> filters) {
        datasource = crudService.findWithNamedQuery(User.ALL, first, first + pageSize);
        // if sort field is not null then we sort the field according to sortfield and sortOrder parameter
        if(sortField != null) {  
            Collections.sort(datasource, new LazySorter(sortField, sortOrder));  
        } 
        setRowCount(crudService.countTotalRecord(User.TOTAL));   
        return datasource;
    }

    /**
     * Checks if the row is available
     * @return boolean
     */
    @Override
    public boolean isRowAvailable() {
        if(datasource == null) 
            return false;
        int index = rowIndex % pageSize ; 
        return index >= 0 && index < datasource.size();
    }

    /**
     * Gets the user object's primary key
     * @param user
     * @return Object
     */
    @Override
    public Object getRowKey(User user) {
        return user.getId().toString();
    }

    /**
     * Returns the user object at the specified position in datasource.
     * @return 
     */
    @Override
    public User getRowData() {
        if(datasource == null)
            return null;
        int index =  rowIndex % pageSize;
        if(index > datasource.size()){
            return null;
        }
        return datasource.get(index);
    }

    /**
     * Returns the user object that has the row key.
     * @param rowKey
     * @return 
     */
    @Override
    public User getRowData(String rowKey) {
        if(datasource == null)
            return null;
       for(User user : datasource) {  
           if(user.getId().toString().equals(rowKey))  
           return user;  
       }  
       return null;  
    }


    /*
     * ===== Getters and Setters of LazyUserDataModel fields
     */


    /**
     *
     * @param pageSize
     */
    @Override
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    /**
     * Returns page size
     * @return int
     */
    @Override
    public int getPageSize() {
        return pageSize;
    }

    /**
     * Returns current row index
     * @return int
     */
    @Override
    public int getRowIndex() {
        return this.rowIndex;
    }

    /**
     * Sets row index
     * @param rowIndex
     */
    @Override
    public void setRowIndex(int rowIndex) {
        this.rowIndex = rowIndex;
    }

    /**
     * Sets row count
     * @param rowCount
     */
    @Override
    public void setRowCount(int rowCount) {
        this.rowCount = rowCount;
    }

    /**
     * Returns row count
     * @return int
     */
    @Override
    public int getRowCount() {
        return this.rowCount;
    }

    /**
     * Sets wrapped data
     * @param list
     */
    @Override
    public void setWrappedData(Object list) {
        this.datasource = (List<User>) list;
    }

    /**
     * Returns wrapped data
     * @return
     */
    @Override
    public Object getWrappedData() {
        return datasource;
    }
}

有什么帮助吗??

共有1个答案

柯立果
2023-03-14

凌驾规则

参数列表应与重写方法的参数列表完全相同。返回类型应与在超类的原始重写方法中声明的返回类型相同或是其子类型。

LazyDataModel类具有名为load的方法(Primeface 5)

public List<T> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
throw new UnsupportedOperationException("Lazy loading is not implemented.");
 }

如果使用Primefaces 5,则只能在LazyUserDataModel中重写上述方法。

自方法

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

LazyDataModel(PF5)中不存在此错误是正常的。

那么如何化解呢?

更改地图

注意:Simtay项目是使用PF3.4编写的,带有LazyDataModel。

 类似资料:
  • 我想使用HttpClient4.3.1上传一个文件。我需要添加一个inputstream来控制上传进度。)而不是文件对象。这是我的代码: 使用MultiPartEntityBuilder.addBinaryBody(Strin,File)方法可以工作,但使用MultiPartEntityBuilder.addBinaryBody(Strin,InputStream)方法则不起作用。 为什么new

  • 我尝试使用DocumentBuilderFactory解析XML文件,如下所示: 其中ndsFileInputStream是一个InputStream,包装包含XML的文件。 当文件包含Unicode字符(如Δ)时,会出现异常。当我去掉包含违规字符的行时,解析工作正常。 该文件包含特征

  • 本文向大家介绍由Apache 500错误引出的临时文件问题分析解决,包括了由Apache 500错误引出的临时文件问题分析解决的使用技巧和注意事项,需要的朋友参考一下 查看apache日志,发觉是mod_fcgid模块异常,提示"Connection reset by peer:mod_fcgid:error reading data from FastCGI server"、"Premature

  • 我正在尝试使用下面描述的无服务器架构在Amazon s3存储桶中上传文件 API网关- 我正在使用postman发送请求,图像被编码为base64格式,并在键“base64”中传递,然后将其转换为inputstream,并传入

  • 我正在使用xjc解析以下xsd 我收到错误:记录原因:cvc datatypevalid。1.2.1:'xsi:schemaLocation'不是'NCName'的有效值。

  • 我正在尝试使用opennlp处理文档分类器。但是我对训练文件有困难。当opennlp读取文件时,我收到以下错误: 我的培训文件如下所示: 我没有得到我可能错过的东西。