| Remarque | ||
|---|---|---|
| ||
à revoir ou compléter |
Il n'est pas rare dans les applications web de vouloir afficher des listes de valeurs. Parce que l'espace visible sur l'écran du client est limité, on souhaite souvent afficher les résultats sur plusieurs pages ; c'est ce qu'on appelle la pagination.La première difficulté de la pagination est donc de n'afficher qu'une partie des résultats d'un ensemble plus important, et de proposer une navigation visuelle entre les pages.La deuxième difficulté consiste, pour les accès aux bases de données, à ne récupérer que les valeurs de la base qui doivent être affichées ; cela est indispensable lorsque le nombre de résultat est énorme, assez gros en tout cas pour saturer la mémoire des processus.Nous montrons donc dans un premier temps comment on peut paginer des données sans se soucier de leur récupération. La dernière partie montre comment écrire des paginateurs qui ne récupèrent de la base de données que les données à afficher.
Le tag paginator
Contrairement à ce que l'on peut trouver dans esup-commons V1 les tags <e: développés spécifiquement pour esup-commons ont été supprimé au profit de l'utilisation de librairies standard.
Seul le tag paginator a été conservé.
La pagination des données (e:paginator)
...
La balise e:paginator ne gère pas l'affichage des données. Elle s'occupe de la gestion des pages (voir la page 04 Pagination pour l'utilisation d'un paginateur dans une page JSF).
Configuration dynamique des balises
Le fichier /properties/tags/tags.xml doit déclarer un bean nommé tagsConfigurator, qui doit implémenter l'interface TagsConfigurator.
Les valeurs par défaut de ce bean suivent les recommandations de http://www.ja-sig.org/wiki/display/UPC/JSR-168+PLT.C+CSS+Style+Definitions+section. On se réfèrera au fichier d'exemple /properties/tags/tags-example.xml pour plus de détails.Il n'est pas rare dans les applications web de vouloir afficher des listes de valeurs. Parce que l'espace visible sur l'écran du client est limité, on souhaite souvent afficher les résultats sur plusieurs pages ; c'est ce qu'on appelle la pagination.La première difficulté de la pagination est donc de n'afficher qu'une partie des résultats d'un ensemble plus important, et de proposer une navigation visuelle entre les pages.La deuxième difficulté consiste, pour les accès aux bases de données, à ne récupérer que les valeurs de la base qui doivent être affichées ; cela est indispensable lorsque le nombre de résultat est énorme, assez gros en tout cas pour saturer la mémoire des processus.Nous montrons donc dans un premier temps comment on peut paginer des données sans se soucier de leur récupération. La dernière partie montre comment écrire des paginateurs qui ne récupèrent de la base de données que les données à afficher.
Écriture d'un paginateur simple
...