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