Как получить доступ к объекту ModelAndView на странице jsp

В моем контроллере есть такой код.

ModelAndView result = new ModelAndView("person/sometrends");  
result.addObject("data", data);  // data -> Map

На моей странице JSP я написал код Java, который зависит от объекта данных. Как я могу получить этот объект данных в коде JSP?

Я попробовал что-то вроде этого (псевдокод).

<%
    Map x = ${data};
%>

Но это не работает. Не знаете, как получить к нему доступ.

Спасибо Варуна

Ответы

Ответ 1

В скриптлете вы используете объект запроса следующим образом:

<% Map myMap = (Map) request.getAttribute("data"); %>

Если вы хотите использовать нечто вроде JSTL вместо скрипта, вы можете сделать:

<c:forEach var="entry" items="${data}">
Name:  ${entry.key} <br/>
Value: ${entry.value} <br/>
</c:forEach>

Как отметил Давмейстер и новичок, объединение EL внутри сценария было основной причиной вашей ошибки.

Ответ 2

Позвольте мне более конкретно, если вы хотите использовать jsp вместо jstl для доступа к Model, вы сделали бы что-то вроде этого:

<% Map x = (Map)request.getAttribute("data") %>

Ответ 3

Попробуйте следующее:

request.getAttribute("data")

Ответ 4

попробовать <% String username = (String)request.getAttribute("data"); %>

Ответ 5

Использование языка выражения внутри скриптлета будет причиной.

Ответ 6

включают: <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>

а затем...

<%
    Map x = ${data};
%>