Как установить объект сеанса, который я могу использовать в любом из моих представлений, используя ${variable}
или ${requestScope.variable}
Чтобы иметь возможность использовать сеансы, мне нужно установить <%@ page session="true" %>
?
Как установить объект сеанса, который я могу использовать в любом из моих представлений, используя ${variable}
или ${requestScope.variable}
Чтобы иметь возможность использовать сеансы, мне нужно установить <%@ page session="true" %>
?
Если вы хотите получить доступ к переменной сеанса в своем представлении, самый простой способ сделать это:
${sessionScope.yourVariable}
Подробнее см. Использование объектов области видимости.
Если вы установите <%@ page session="true">
, то JSP объединит область сеанса и в области страницы в одно пространство имен. Затем вы можете сделать:
${yourVariable}
Вы можете поместить что-то в сеанс в контроллере mvc следующим образом:
@RequestMapping("/test")
@Controller
public class TestController {
@RequestMapping(method = RequestMethod.GET)
public String testMestod(HttpServletRequest request)
{
request.getSession().setAttribute("testVariable", "Test Values!!");
return "testJsp";
}
}
Наконец, атрибут @SessionAttribute предназначен для использования в конкретном случае и не помещает переменные в сеанс, чтобы каждый мог получить к ним доступ:
Вот как люди spring описывают функциональность @SessionAttribute:
Функция @SessionAttributes работает в так же, как sessionForm SimpleFormController. Он ставит команда (или для атрибутов @SessionAttributes любой объект) в сеансе для продолжительность между первым и последний запрос (в большинстве случаев начальный GET и окончательный POST). После что материал удален.
У каждого контроллера есть собственная модель поэтому что-то @SessionAttributes в контроллере1 недоступен в контроллере2 и наоборот. Для этого вы будете нужно положить материал на сеанс вручную самостоятельно.
Используйте аннотацию SessionAttributes. Ознакомьтесь с документацией spring здесь
Вы также можете вручную добавлять и удалять переменные из сеанса с помощью DefaultSessionAttributeStore api