Comment puis-je trier une liste de plusieurs manières différentes dans une JSP?
J'ai une liste de Joueur les objets se passe dans une JSP à partir d'un contrôleur, et je veux les afficher dans un couple de différentes manières sur la même page:
- un menu triés par nom
- une liste triée par gain/perte en pourcentage
Je pourrais mettre triés exemplaires dans le modèle, mais traiter différentes façons d'afficher la même liste apparaît plus comme une responsabilité de la vue, donc j'aimerais éviter de mettre de la logique dans le contrôleur, si je peux. J'ai déjà un couple de classes la mise en œuvre de Comparaison pour aider avec le tri réelle.
Quelle est la meilleure façon de le faire que dans une JSP?
Puis-je trier la liste avant de la passer dans les différentes forEach
tags?
source d'informationauteur Mike Partridge
Vous devez vous connecter pour publier un commentaire.
La DONC EL Balise Wiki décrit une façon de le faire sans l'aide d'un scriptlet: à l'aide d'un EL fonction de faire le tri, puis en utilisant le résultat de la
items
attribut dans la JSTL de baseforEach
tag.La fonction de la classe:
Le TLD:
Le menu JSP:
Employer Les Collections.de tri(Liste, Comparateur)en fournissant votre propre Comparateur comme nécessaire pour trier la liste dans le bon ordre. La java, ce qui pourrait être intégré au sein de
<%
et%>
balises, ressemblerait à quelque chose comme:Je vous recommande d'avoir deux listes triées dans le modèle. Les listes ne contiennent que des références d'objet, il n'est donc pas un gros problème d'espace, et personnellement, je n'aime pas faire ce genre de travail dans les pages Jsp. Si vous pré-tri, il n'a pas d'importance combien de fois la page est affichée dans la navigation normale, et aussi longtemps que les listes ne changez pas, vous n'aurez pas à subir le genre de frais généraux.