как получить доступ к объекту ModelAndView на странице JSP - PullRequest
19 голосов
/ 17 сентября 2010

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

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

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

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

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

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

Ответы [ 6 ]

34 голосов
/ 27 октября 2010

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

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

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

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

Как указали Дэйвмайстер и новичок, корень вашей ошибки - объединение EL в скриплет.

12 голосов
/ 27 октября 2010

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

<% Map x = (Map)request.getAttribute("data") %>
3 голосов
/ 25 октября 2010

Попробуйте это:

request.getAttribute("data")
2 голосов
/ 13 апреля 2012

1001 * попробовать *

1 голос
/ 26 октября 2010

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

0 голосов
/ 07 апреля 2011

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

, а затем ...

<%
    Map x = ${data};
%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...