Как перебрать ArrayList внутри HashMap с помощью JSTL?
У меня есть такая карта,
Map<Integer,ArrayList> myMap = new LinkedHashMap<Integer,ArrayList>();
Теперь я должен повторить эту карту, а затем ArrayList внутри карты. Как я могу это сделать с помощью JSTL?
- Scala лучший способ превратить коллекцию в Map-by-key?
- boost :: flat_map и его производительность по сравнению с картой и unordered_map
- Hashtable в C ++?
- Ограничить прокрутку MKMapView
- Лучший способ объединить две карты и суммировать значения одного и того же ключа?
- Scala: карта слияния
- Почему аргумент типа карты C ++ требует пустого конструктора при использовании ?
- Карта, которая может быть итерирована в порядке значений
- Производительность традиционного для цикла против Iterator / foreach в Java
- Как я могу перебирать карту из ?
- Доступ к элементу C ++ const
- На картах STL лучше использовать map :: insert, чем ?
- Есть ли у Java HashMap с обратным поиском?
Вы можете использовать
JSTL
для перебора массивов, коллекций и карт.
В случае массивов и коллекций на каждой итерации var
выдает вам только тот итеративный элемент.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> Item = ${item}
В случае карт каждая итерация var
даст вам объект Map.Entry
который, в свою очередь, имеет getKey()
и getValue()
.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> Key = ${entry.key}, value = ${entry.value}
В вашем конкретном случае ${entry.value}
на самом деле является List
, поэтому вам нужно также перебирать его:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> Key = ${entry.key}, values = ${item} ${!loop.last ? ', ' : ''}
varStatus
существует только для удобства;)
Чтобы лучше понять, что здесь происходит, вот простой перевод на Java:
for (Entry> entry : map.entrySet()) { out.print("Key = " + entry.getKey() + ", values = "); for (Iterator
Смотрите также:
- Как пропустить HashMap в JSP?
- Показать JDBC ResultSet в HTML на странице JSP с использованием шаблонов MVC и DAO
- Как перебрать что-то определенное количество раз в JSTL?
Вы попробовали что-то вроде этого?
...
вы не закрыли c tag.try из этого
Key = ${entry.key}, values = ${item} ${!loop.last ? ', ' : ''}
Вы можете также обходить вокруг map.value себя, если знаете ключ
${value}