Вы можете использовать следующее выражение EL в JSF 2.0:
#{facesContext.externalContext.getSession(false) == null}
Обратите внимание, что ссылка на неявный объект EL session
автоматически (повторно) создаст его снова. Таким образом, этого никогда нельзя использовать для тестирования.
E.g.
Предположим, вы бы аннулировал сессию в бэк-боба, и Facelet следующего содержания было вынесено:
#{facesContext.externalContext.getSession(false) == null}
#{session.new}
#{facesContext.externalContext.getSession(false) == null}
Это сделало бы:
true true false
Сеанс первый действительно ушел , но, ссылаясь на неявный объект EL, он снова создается (и будет находиться в новом состоянии). Затем второй тест обнаруживает, что сессия снова появится.
Связанный вопрос: http://stackoverflow.com/questions/2319020/mvc-with-jquery-handling-session-expire – BalusC
Согласно вашему обновлению, вы используете кандидат на выпуск PrimeFaces вместо окончательной версии? 2.2 У RC1 есть ошибка: http://code.google.com/p/primefaces/issues/detail?id=1471 Это совсем другая история. – BalusC