. Я использую datalist с разбивкой по страницам Ajax, и первая страница загружается отлично, показывая 5 результатов. Он знает, что у меня есть 3 страницы результатов, но когда я перехожу на вторую/третью страницы, я получаю пустой список.. Графические диаграммы.
Моя модель расширяет LazyDataModel, и в первый раз, когда загружается моя страница, я могу установить точку останова на метод load(), и я вижу, что она запрашивает результаты 1-5, что здорово. Но нажатие на «стр. 2» не приводит к другому вызову метода загрузки (хотя это приводит к примерно 3 вызовам в мое поле lazyDataModel (только не метод загрузки внутри него).
Новое в этом и несмотря на то, что я много читаю и разбираюсь в разных вещах, я не могу понять, как это должно работать. Пример витрины для меня не кажется мне «полным».
Вот самые важные биты моего кода (я думаю,) к сожалению о форматировании:.
@PostConstruct
public void LoadData() {
lazyModel = new LazyDataModel<MessageboardThread>() {
@Override
public List<MessageboardThread> load(int first, int pageSize, String sortField, SortOrder so, Map<String, String> map) {
List<MessageboardThread> result = new ArrayList<MessageboardThread>();
try {
result = mbDao.findAll(pageSize, first);
} catch (Exception ex) {
ex.printStackTrace();
}
return result;
}
};
getLazyModel().setRowCount(mbDao.count());
getLazyModel().setPageSize(pageSize);
}
Этот способ получить выполняется каждый раз, когда я нажимаю на следующий/предыдущая страница /** * @вторлайн lazyModel */ public LazyDataModel getLazyModel() { return lazyModel; }
И это мой файл XHTML
<p:dataList value="#{messageboardBean.lazyModel}" var="thread" id="threads"
paginator="true" rows="5" effectSpeed="fast"
paginatorTemplate="{PreviousPageLink} {CurrentPageReport} {NextPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15" type="none"
paginatorPosition="bottom">
<f:facet name="header">
Conversations
</f:facet>
<p:column>
<h:outputText value="#{thread.title}" style="margin-left:10px" />
<br />
</p:column>
</p:dataList>
Я озадачен так очень благодарен за любую помощь
PS Я поставил там @PostContruct аннотацию, потому что это казалось хорошим местом для сделайте настройку, но это может быть неправильно, я не видел ее ни на одном другом примере, но тогда я не мог получить никаких других примеров для работы.
Отметьте ваше решение как принятое, поэтому он менее запутан во время просмотра вопросов. – Fallup
Я буду, когда это позволит мне – Richard