Вы можете использовать следующее выражение EL в JSF 2.0:
#{facesContext.externalContext.getSession(false) == null}
Обратите внимание, что ссылка на неявный объект EL session
автоматически (повторно) создаст его снова. Таким образом, этот никогда не может быть использован для тестирования.
1009 * Е.Г. *
Предположим, вы бы аннулировали сеанс в компоненте поддержки, и был создан Facelet со следующим содержимым:
#{facesContext.externalContext.getSession(false) == null}
#{session.new}
#{facesContext.externalContext.getSession(false) == null}
Это будет означать:
true true false
Сначала сеанс действительно завершился, но с помощью ссылки на неявный объект EL он снова создается (и будет в новом состоянии). Затем второй тест обнаруживает, что сессия снова там.