2011-05-09 20 views
15

¿Cómo puedo configurar un objeto de sesión que puedo usar entonces en cualquiera de mis puntos de vista mediante el uso de ${variable} o ${requestScope.variable}sesión Conjunto de resorte variable MVC 3

Para poder utilizar sesiones necesito para establecer <%@ page session="true" %>?

Respuesta

31

Si desea acceder a una variable de sesión en su opinión, la forma más fácil de hacerlo manualmente es:

${sessionScope.yourVariable} 

Consulte el Using Scope Objects para obtener más información.

Si configura <%@ page session="true">, el JSP fusionará el alcance de la sesión y el alcance de la página en un único espacio de nombre. A continuación, puede hacer:

${yourVariable} 

Puede poner algo en la sesión en un controlador MVC así:

@RequestMapping("/test") 
@Controller 
public class TestController { 
    @RequestMapping(method = RequestMethod.GET) 
    public String testMestod(HttpServletRequest request) 
    { 
     request.getSession().setAttribute("testVariable", "Test Values!!"); 
     return "testJsp"; 
    } 
} 

Por último, el @SessionAttribute es para un caso de uso specifc, y no lo hace poner variables en la sesión para que cualquier persona puede acceder a ellos:

Aquí es cómo la gente primavera describen la funcionalidad de @SessionAttribute:

El @SessionAttributes funciona en el de la misma forma que el sessionForm del SimpleFormController. Pone el comando (o para el @SessionAttributes cualquier objeto) en la sesión para la duración de entre la primera y la última solicitud (la mayoría de las veces el GET inicial y el POST final). Después de que las cosas se eliminan.

Cada controlador tiene su propio ModelMap así que algo como un puesto @SessionAttributes en Controller1 no está disponible en controller2 y viceversa. Para que funcione, tiene que poner cosas en la sesión manualmente usted mismo.

0

Utilice la anotación SessionAttributes. Compruébelo usted mismo en la documentación de la primavera here

También puede añadir y eliminar las variables de sesión con el DefaultSessionAttributeStore api

Cuestiones relacionadas