Boa tarde eu gostaria de saber como faço paginação com jsf puro sem depender de prime faces e essas tecnologias externas ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa tarde eu gostaria de saber como faço paginação com jsf puro sem depender de prime faces e essas tecnologias externas ?
Fala Marcus, tudo bem?
Vai dar um certo trabalho fazer sem nenhum framework, você vai ter que controlar a paginação na mão:
Bean:
// Set currentPage, totalPages and pages.
currentPage = (totalRows / rowsPerPage) - ((totalRows - firstRow) / rowsPerPage) + 1;
totalPages = (totalRows / rowsPerPage) + ((totalRows % rowsPerPage != 0) ? 1 : 0);
int pagesLength = Math.min(pageRange, totalPages);
pages = new Integer[pagesLength];
// firstPage must be greater than 0 and lesser than totalPages-pageLength.
int firstPage = Math.min(Math.max(0, currentPage - (pageRange / 2)), totalPages - pagesLength);
// Create pages (page numbers for page links).
for (int i = 0; i < pagesLength; i++) {
pages[i] = ++firstPage;
}
View:
<!--The paging buttons-->
<h:commandButton value="first" action="#{jsfPaginationBean.pageFirst}"
disabled="#{jsfPaginationBean.firstRow == 0}" />
<h:commandButton value="prev" action="#{jsfPaginationBean.pagePrevious}"
disabled="#{jsfPaginationBean.firstRow == 0}" />
<h:commandButton value="next" action="#{jsfPaginationBean.pageNext}"
disabled="#{jsfPaginationBean.firstRow + jsfPaginationBean.rowsPerPage >= jsfPaginationBean.totalRows}" />
<h:commandButton value="last" action="#{jsfPaginationBean.pageLast}"
disabled="#{jsfPaginationBean.firstRow + myBean.rowsPerPage >= jsfPaginationBean.totalRows}" />
<h:outputText value="Page #{jsfPaginationBean.currentPage} / #{jsfPaginationBean.totalPages}" />
Bom dia Otávio Felipe do Prado, eu realmente não entendi como seria essa implementação.