...
Sommaire :
| Sommaire | ||
|---|---|---|
|
...
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)
Exemple d'utilisation de la balise e:paginator.
| Bloc de code |
|---|
<h:panelGroup>
<e:paginator id="thingPaginator"
paginator="#{thingsController.paginator}"
itemsName="#{msgs['THINGS']}"
onchange="javascript:{simulateLinkClick('thingsForm:submitPageSize');}" />
<e<h:commandButton id="submitPageSize"
action="#{thingsController.paginator.forceReload}" />
</h:panelGroup>
|
...
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.
Écriture d'un paginateur simple
Nous supposons qu'une page de l'application doit afficher les choses (Thing) du service (Department) courant de la page.
...
| exercice | ||||
|---|---|---|---|---|
| ||||
Écrire un paginateur simple pour récupérer tous les objets de type Entry de la base de données.
|
Utilisation d'un paginateur
Dans le code Java
Un paginateur sera typiquement un attribut d'un contrôleur. Nous prenons ici pour exemple le contrôleur des « choses », qui les affiche de manière paginée :
...
| Bloc de code |
|---|
paginator.setDepartment(department).reloadData(); |
Dans une page JSF
Nous montrons dans cette partie comment présenter un paginateur, pour obtenir un affichage de ce genre :
On commence par englober le tout d'un formulaire, nécessaire pour faire fonctionner les boutons de navigation :
...