Я пробовал следующее, что на удивление не работает, похоже, .values вообще не работает в jstl:
<c:forEach var="r" items="${applicationScope['theMap'].values}">
Карта определяется следующим образом (и позже сохранен в ServletContext):
Map<Integer, CustomObject> theMap = new LinkedHashMap<Integer, CustomObject>();
Как заставить это работать? На самом деле мне бы очень хотелось избежать изменения того, что находится внутри цикла foreach.