Lazy JSF Datatable Pagination (Primefaces)

25

Posted on March 30, 2012 by

Share it now!

Hello, how are you?

Today we will do JSF datatable pagination with a Lazy List with a view scoped managed bean. What all those words/expressions mean?

There are several JSF frameworks today that provide datatables with a ready pagination, columns sorter and others functionalities. Today we will use the Primefaces datatable.

Usually the datatables will put the displayed List, with the entities, inside the user http session. Increasing the objects inside the user session will have a direct impact on the server performance; each user that displays a datatable,  that keeps a list in the session, will be allocating more and more memory in the server.

To look like real life, our post will use JPA and HSQLDB as database, and we will use JPQL to query the data.

In the end of this post you will find the link to download the source code.

We will use:

  • JSF 2.0 – JBoss 7 Implementation
  • JBoss 7.1 – the code of this post should be applied to all servers
  • Eclipse Indigo
  • JPA 2.0 – JBoss 7 Implementation
  • HSQLDB (2.2.8) – The HSQL it is a memory database, it will be easier to run it.
  • Primefaces 3.2

This post is not about good development practices nor about adding classes layers of project modeling. I just intend to show how to do a pagination without a session managed bean.

Response to Lazy JSF Datatable Pagination (Primefaces)

  1. Pingback: primefaces-lazy-loading-datatable-for-jsf2/ | mauroprogram's Blog

  2. Max

    Hello, very nice tutorial, I’m following your web as I’m starting with JavaEE.

    I’d like to ask you about the xhtml page, in the datatable properties, the only way I can retrieve any values is by using the ” lazy = “true” ” property, but you don’t use that in your code. Do you know why? am I forgetting something?

    Thanks in advance and congratulations for your good posts ;)

    • uaihebert Post author

      Hello Max,

      The lazy is mandatory for newer primefaces versions. When I created this post it was not necessary to use the attribute lazy.

      Thanks for passing by.

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current day month ye@r *