Projets

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

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 résultats 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.

...

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é supprimés au profit de l'utilisation de librairies standard.
Seul le tag paginator a été conservé.

...

Bloc de code
<h:panelGroup>
  <e:paginator id="thingPaginator"
               paginator="#{thingsController.paginator}"
               itemsName="#{msgs['THINGS']}"
               onchange="javascript:{simulateLinkClick('thingsForm:submitPageSize');}" />
  <h:commandButton id="submitPageSize"
	           action="#{thingsController.paginator.forceReload}" />
</h:panelGroup>

...

  • id : Permet de définir l'identifiant du paginator.
  • paginator : Attribut obligatoire, une epression expression EL qui pointe le paginateur (objet implémentant l'interface Paginator).
  • itemsName : Indique le nom des items affichés. Correspond à 'Choses' dans l'image ci-dessus.
  • styleClass : Permet de définir la classe CSS. Par défaut, la classe CSS est positionnée par le bean tagsConfigurator.
  • visibleBlocks : Le paginateur est composé de 3 blocs : itemsNumbers, navigation, itemsPerPage. Cette Cet attribut permet de définir quels blocks doivent être visiblevisibles. Il faut indiquer le nom des blocs séparés par un virgules une virgule sans espace (L'ordre d'écriture des blocs est important). Par défaut, les 3 blocs sont visibles.
  • onchange : Le blocks block itemsPerPage contient une liste déroulante permettant de définir la taille des pages. Cette attribut surcharge l'attribut onChange de cette liste déroulante. Dans l'exemple ci-dessus, à chaque changement de la taille de page, on simule un clique clic du bouton submitPageSize qui recharge le paginateur.

...