Этот вопрос уже имеет ответ здесь:
У меня есть класс Java, который устанавливает атрибут сервлета на объект HashMap:
request.setAttribute("types", da.getSecurityTypes());
где request
Объект HttpServletRequest, и da.getSecurityTypes()
возвращает Объект HashMap.
Существует ли способ пройти набор HashMap с помощью c:foreach или некоторые другие теги JSTL?
Я думал:
...
Или если бы это не может быть сделано, как можно было бы сделать пользовательский тег для обработки этого?
Обращение к коду Java на моей странице JSP быть моим последним средством, и я хотел бы знать, возможно ли это с JSTL.
Спасибо, Jonas.
Да, это вполне приемлемо.
Когда вы используете
для итерации по Map
, каждый элемент в итерации является экземпляром Map.Entry
. Итак, учитывая ваш пример:
<c:forEach var="type" items="${types}">
Key is ${type.key}
Value is ${type.value}
</c:forEach>
Это работает, у вас будет type.key
и type.value
, чтобы играть с в петле.