2010-09-17 12 views
15

Tengo un código como este en mi controlador.cómo acceder a un objeto ModelAndView dentro de la página jsp

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

En mi página JSP he escrito algunos códigos Java que dependen del objeto de datos. ¿Cómo puedo obtener ese objeto de datos dentro del código JSP?

Intenté algo así (pseudo código).

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

Pero eso no funciona. No estoy seguro de cómo acceder a él.

Gracias Varun

Respuesta

1

Usando lenguaje de expresión dentro de la scriplet sería la causa.

12

Déjame más específica, si desea utilizar jsp en lugar de jstl para acceder al algo Model lo haría así:

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

En un scriptlet, se utiliza el objeto de la petición de esta manera:

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

Si desea utilizar algo así como JSTL en lugar de un scriptlet, se podría hacer:

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

Como señalaron Davemeister y el novato, la causa de su error fue la combinación de EL dentro de un scriptlet.

+0

¿cómo podemos obtener una variable 'jsp' (es decir, un área de texto de entrada) en un' class' (es decir, controlador de resorte) con una función que devuelve un objeto ModelAndView? –

-1

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

y luego ...

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

No es un código Java válido. –

2

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

+0

La manera más fácil :) Gracias por su trabajo – Raheel

Cuestiones relacionadas