Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Efficient JSF Pagination

Whats the most efficient way of doing pagination in JSF 2.0 app? I use Primefaces datatable and it is intelligent enough to perform pagination by itself with no coding at all.

<p:dataTable var="car" value="#{carBean.cars}" paginator="true" rows="10">
    <!-- Multiple columns here-->
</p:dataTable>

The thing that I see, is that I need to place my bean to session scoped or greater.

@ManagedBean
@SessionScoped
public class CarBean{
    public List<Car> getCars(){
        //return data from DB
    }
}

I wanted to know is there another efficient way on how to perform this?

I used EJB/JPA at the backend by the way. Would like to know any links or tutorials to learn more about this.

Thanks.

like image 904
Mark Estrada Avatar asked Sep 12 '11 01:09

Mark Estrada


1 Answers

You need to use LazyDataModel in order to have only the rows in memory which the client actually needs to see. See also the example in PrimeFaces showcase. This does pagination at DB level which is what you ultimately want.

RichFaces supports by the way the same in flavor of ArrangableDataModel, here's the RichFaces showcase example.

like image 78
BalusC Avatar answered Sep 23 '22 23:09

BalusC