varun
varun

Reputation: 2064

how to access a ModelAndView object within the jsp page

I have a code like this in my controller.

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

In my JSP page I have written some Java code that is dependent on the data object. How can I get that data object within the JSP code?

I tried something like this (pseudo code).

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

But that doesn't work. Not sure how to access it.

Upvotes: 21

Views: 90644

Answers (6)

Davemeister
Davemeister

Reputation: 121

Let me more specific, if you want to use jsp instead of jstl to access the Model you would do something like this:

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

Upvotes: 12

R. Rahul
R. Rahul

Reputation: 1186

try<% String username = (String)request.getAttribute("data"); %>

Upvotes: 2

user696003
user696003

Reputation: 13

include: <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>

and then...

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

Upvotes: -2

Davemeister
Davemeister

Reputation: 41

Try this:

request.getAttribute("data")

Upvotes: 4

codelark
codelark

Reputation: 12324

In a scriptlet, you use the request object like so:

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

If you want to use something like JSTL instead of a scriptlet, you could do:

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

As Davemeister and novice pointed out, combining EL inside a scriptlet was the root cause of your error.

Upvotes: 36

Maniganda Prakash
Maniganda Prakash

Reputation: 4732

Using expression language inside the scriptlet would be the cause.

Upvotes: 1

Related Questions