Используйте <c:forEach> с HashMap [дубликат]

Этот вопрос уже имеет ответ здесь:

У меня есть класс Java, который устанавливает атрибут сервлета на объект HashMap:

request.setAttribute("types", da.getSecurityTypes());

где request Объект HttpServletRequest, и da.getSecurityTypes() возвращает Объект HashMap.

Существует ли способ пройти набор HashMap с помощью c:foreach или некоторые другие теги JSTL?

Я думал:

 
                 ...
     

Или если бы это не может быть сделано, как можно было бы сделать пользовательский тег для обработки этого?

Обращение к коду Java на моей странице JSP быть моим последним средством, и я хотел бы знать, возможно ли это с JSTL.

Спасибо, Jonas.

49
задан jonasespelita 5 February 2010 в 12:29
поделиться

2 ответа

Да, это вполне приемлемо.

Когда вы используете для итерации по Map , каждый элемент в итерации является экземпляром Map.Entry . Итак, учитывая ваш пример:

<c:forEach var="type" items="${types}">
   Key is ${type.key}
   Value is ${type.value}
</c:forEach>
112
ответ дан 7 November 2019 в 11:30
поделиться

Это работает, у вас будет type.key и type.value , чтобы играть с в петле.

5
ответ дан 7 November 2019 в 11:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: