Мой компонент JSF с ленивой моделью данных
private Integer pageSize = 15;
private Integer first = 0;
@PostConstruct
public void init() {
responseDataList = new ResponseDataList();
responseDataList.setPageSize(pageSize);
}
public class ResponseDataList extends LazyDataModel<User> {
public int total = 0;
public int dataSize = 0;
@Override
public List<User> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
List<User> data = new ArrayList<>();
try {
total = userRestClient.getTotalCount().intValue();
int count = (first + pageSize);
data = userRestClient.findAllUsers(first, count).getUserList();
dataSize = data.size();
} catch (Exception es) {
}
return data;
}
@Override
public User getRowData(String rowKey) {
return null;
}
@Override
public Object getRowKey(User object) {
return object.getId();
}
@Override
public int getRowCount() {
return (int) total;
}
}
Моя таблица данных:
<p:dataTable var="list" id="userTbl"
value="#{usersBean.responseDataList}"
paginator="true" rows="#{usersBean.pageSize}" first="#{usersBean.first}" reflow="true"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink}
{PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
lazy="true" rowsPerPageTemplate="5,10,15"
>
Когда я нажимаю на нумерацию страниц первый раз, «первый» равен нулю, второй раз равен 15. Почему происходит сбой подкачки. общее количество данных в базе данных.
Я не понимаю, как растет "первым" и где моя ошибка?