Как перебрать ArrayList внутри HashMap с помощью JSTL?

У меня есть такая карта,

Map<Integer,ArrayList> myMap = new LinkedHashMap<Integer,ArrayList>(); 

Теперь я должен повторить эту карту, а затем ArrayList внутри карты. Как я могу это сделать с помощью JSTL?

Вы можете использовать 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 iter = entry.getValue().iterator(); iter.hasNext();) { Object item = iter.next(); out.print(item + (iter.hasNext() ? ", " : "")); } out.println(); } 

Смотрите также:

  • Как пропустить HashMap в JSP?
  • Показать JDBC ResultSet в HTML на странице JSP с использованием шаблонов MVC и DAO
  • Как перебрать что-то определенное количество раз в JSTL?

Вы попробовали что-то вроде этого?

   ...   

вы не закрыли c tag.try из этого

   Key = ${entry.key}, values =  ${item} ${!loop.last ? ', ' : ''} 

Вы можете также обходить вокруг map.value себя, если знаете ключ

  ${value}  
  • Двунаправленная карта в Java?
  • Какие требования должны соответствовать classам classов std :: map?
  • как вы делаете гетерогенную boost :: map?
  • Как скопировать одну карту в другую с помощью std :: copy?
  • Список против карты в Java
  • remove_if для std :: map
  • Весна не может автоподключить карту
  • Какой самый быстрый способ изменить ключ элемента внутри std :: map
  • «Невозможно создать общий массив ...» - как создать массив карт ?
  • Android MapActivity: не удалось получить соединение с заводским клиентом
  • Обратный поиск карты
  • Давайте будем гением компьютера.