我实现了PrimeFaces LazyDataModel,并通过存储库中的Specification创建了自己的搜索。我重写了方法
@Override
public List<Telefonbuch> load(int first, int pageSize, String sortField, SortOrder sortOrder,
Map<String, Object> filters) {
其中的搜索内容可能看起来有些难看:
if (sortField != null && !sortField.isEmpty()) {
if (sortOrder.name().equalsIgnoreCase("ascending")) {
result = telefonbuchRepository
.findAll(
(TelefonbuchSpecifications.hasVorname(vorname))
.and(TelefonbuchSpecifications.hasNachname(nachname))
.and(TelefonbuchSpecifications.hasTelefonnummer(telefonnummer))
.and(TelefonbuchSpecifications.hasHandynummer(handynummer))
.and(TelefonbuchSpecifications
.hasGeschaeftsstelle(geschaeftsstelle)),
PageRequest.of(first, pageSize, Sort.by(sortField).ascending()))
.getContent();
}
但是效果很好。问题在于它正在忽略正在发生的事情。
currentPageReportTemplate="{startRecord} − {endRecord} von insg. {totalRecords} Einträgen"
这是在我的.xhtml中,但它将始终显示:
1 − 10 von insg. 12 Einträgen
即使显示正确的行数也不会更新。如何自定义或更改?如果我得到5个名称为“ Adam”的条目,我只想要5个条目中的1-5个。
我在这里很少,但是我想您已经可以告诉我该怎么做,或者要实现和重写什么。