Bonjour,
Ne connaissant pas JSTL je galère pour gerer deux listes dans une boucle forEach
voilà comment j'ai codé;
Dans mon premier programme j'ai :
Puis j’alimente mes deux listes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 private List<String> myList2 = new ArrayList<String>(); private List<String> myList = new ArrayList<String>();
La première liste contient un lien effectif et la deuxième le nom du lien affiché
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 myList.clear(); myList2.clear(); for(int i = 1; i < contrat.length; i++){ String url = contrat[0]+contrat[i]; String lienAffiche = contrat[i]; myList.add(url); myList2.add(lienAffiche); } pageContext.setAttribute("myList", myList, PageContext.SESSION_SCOPE); pageContext.setAttribute("myList2", myList2, PageContext.SESSION_SCOPE);
Ensuite, j'ai mon autre jsp qui contient:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <table> <c:forEach items="${myList}" var="item"> <tr> <td> <a href="<c:out value="${item}" />"> <c:out value='${item}'/><br> </td> </tr> </c:forEach> </table>
Ça fonctionne par ce que j'ai exploité que la liste myList mais en fait je voudrais afficher la valeur de myList2 et lorsque l'utilisateur clique sur le lien ça prend l'url de myList. En fait le lien affiché à l'utilisateur correspond à un autre lien appelé.
bref j'aurai voulu quelque chose du style:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <a href="<c:out value="${item} de la liste 2" />"> <c:out value='${item} de la liste 1'/><br>
Avez-vous une idée ?
merci d'avance.
Partager