Как получить доступ к внутренним элементам карты, которая содержит списки в JSTL? - PullRequest
1 голос
/ 11 августа 2011

У меня есть Список MyBean1 в области запроса (они имеют имя tests).MyBean1 имеет параметр типа Map<Integer, List<MyBean2>>, доступный через вызов метода getMap().Ключи этой карты - числа от 1 до 6. MyBean2 имеет метод getValue(), который возвращает строку.

Мне нужно, чтобы значения каждого списка были помещены в одну и ту же ячейку таблицы.

Я написал что-то вроде этого:

<c:forEach var="test" items="${tests}">
    // some stuff
    <td><c:forEach var="bean" items="S{test.map[1]}">${bean.value} </c:forEach></td>
    // repeat for keys to 2 to 6
</c:forEach>

Но, похоже, это не работает.Я не получаю поля value Списка, содержащиеся в карте, по ключу 1.

Я что-то не так делаю?

Я использую Spring MVC в качестве инфраструктуры MVC, иЯ могу получить другие поля из этой переменной test.

Спасибо.

1 Ответ

1 голос
/ 11 августа 2011

См. EL доступ к значению карты с помощью целочисленной клавиши для объяснения того, почему оно не работает.

Если ваша карта является отсортированной картой или LinkedHashMap, перебор ее записей может работать:

<td><c:forEach var="entry" items="${test.map}">
        <c:forEach var="bean" items="${entry.value}">${bean.value}</c:forEach>
    </c:forEach></td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...