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.