tags:

views:

49

answers:

4

Hi 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.

Thanks Varun

A: 

request.getAttribute("data")

Davemeister
A: 

Using expression language inside the scriptlet would be the cause.

novice
A: 

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") %>

Davemeister
A: 

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.

codelark