Bonjour,
J'affiche une collection dans une page JSP, de la manière suivante (merci à c_nvy ) :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <c:forEach items="${user.functions}" var="item" varStatus="status"> <c:choose> <c:when test="${status.last}"> <c:set var="sep" value=""/> </c:when> <c:otherwise> <c:set var="sep" value=", "/> </c:otherwise> </c:choose> <c:out value="${item.name}"/><c:out value="${sep}"/> </c:forEach>
Contexte :
J'ai une collection de User. Un User possède divers attributs (nom, prénom, etc.) et aussi des fonctions. Je tente ici de lister mes User dans un tableau.
Exemple :
Le problème, c'est que je me suis rendu compte que les Functions n'étaient pas retournées toujours dans le même ordre par hibernate.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 +-----------+----------+-----------------+ | Firstname | Lastname | Functions | +-----------+----------+-----------------+ | Julien | DURAND | engineer, admin | +-----------+----------+-----------------+ | | | |
Quelle est la logique du site (workflow) ?
1) Le navigateur demande l'URL listUsers.do
2) Struts envoie vers une Action que j'ai codée. Grâce à Hibernate, tout ce que j'ai à faire (en gros), c'est :
Le bean listUsers est envoyé à la page JSP (Vue).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 List<User> maListe = getAllUsers(); request.setAttribute("listUsers", maListe); return mapping.findForward("success");
3) La page listUsers.jsp itère sur la collection de Users, mais quand elle arrive sur le listing des Function d'un User, ces Function ne sont pas encore récupérées de la base de données. Cela déclenche un requêtage "implicite" par Hibernate pour récupérer ces Function.
Je n'ai donc pas de contrôle sur la requête pour faire un tri.
Ma question :
Comment faire pour trier ces valeurs ? Est-ce que Struts permet cela ? Comment est-ce que vous feriez ?
piloupy
Partager