J'ai essayé ce qui suit surprenant ne fonctionne pas, on dirait que .Values ne fonctionne pas du tout dans JSTL: La carte est définie comme ceci (puis enregistré dans le servletContext) : P> Map<Integer, CustomObject> theMap = new LinkedHashMap<Integer, CustomObject>();
3 Réponses :
Vous voulez donc itération sur les valeurs de la carte? Carte Code> n'a pas de
getValues () code> méthode, donc votre tentative ne fonctionne pas. Le
map.Entry code>
retour sur chaque itération est à son tour getkey () code> et
getvalue () code> méthodes. Donc, les éléments suivants doivent faire:
<c:forEach var="value" items="${theMap.values()}">
Map value: ${value}<br/>
</c:forEach>
Vous pouvez itérer une carte dans JSTL comme suit
Vous pouvez également utiliser ce type si nécessaire
<c:forEach var="key" items="${theMap.keySet()}" varStatus="keyStatus"> <c:set var="value" value="${theMap[key]}" /> </c:forEach>
Dupliqué possible de JSTL Accéder à une valeur de carte par clé
@duffy: Je comprends que l'OP veut itération sur toutes les valeurs sans connaître les clés.
@Balusc: oui je fais :-) Mais de toute façon je reçois les clés. Cela peut sembler étrange, mais dans ce cas, la clé est également incluse dans la valeur. La clé comme dans est la clé principale de l'objet de valeur.
Je suis totalement perdu maintenant. Alors ma réponse ne vous a pas aidé? Quelle est l'exigence fonctionnelle alors?
La réponse était absolument ok. Il n'y a pas de getvalues (), et c'est le problème que j'ai. Devra travailler autour de ça :)