Поскольку JSF API построен поверх API JSP / Servlet, максимальная поддерживаемая версия JSF зависит от максимальной поддерживаемой версии JSP / Servlet.
JSF 1.0 и 1.1 требует минимум Servlet 2.4 / JSP 2.0.
JSF 1.2 работает на Servlet 2.4, но требует минимумJSP / EL 2.1, который идет рука об руку с Servlet 2.5, поэтому требует все-таки Servlet 2.5.Если вы замените JSP 2.1 на Facelets 1.x в качестве технологии просмотра по умолчанию, то вы можете использовать JSF 1.2 в Servlet 2.4.
JSF 2.0, который по умолчанию использует Facelets2.x требуется минимум EL 2.1, который идет рука об руку с Servlet 2.5, поэтому он требует после всего Servlet 2.5.Если вы предоставите свой собственный EL 2.1 API / impl, то вы можете в теории запустить JSF 2.0 на Сервлете 2.4.
JSF 2.1 требует минимум Servlet 3.0 и Java 1.6 (6.0) .
JBoss 4.x - это контейнер Servlet 2.4.Так что, если вы придерживаетесь JSP, вы можете использовать JSF 1.1.Но если вы замените JSP на Facelets 1.x, тогда вы можете использовать JSF 1.2.JSF 1.2 предлагает в качестве наиболее важных преимуществ возможность избавиться от <f:verbatim>
, использовать <f:setPropertyActionListener>
, использовать @PostConstruct
и т. Д.
JSF 2.0 - в теории возможно, но я не гарантирую, что это будет работать на 100%, так как я не полностью осознаю возможные побочные эффекты.До сих пор я только успешно запускал его с очень простой тестовой страницей с формой ajax и bean-компонентом в Tomcat 5.5.Это может потерпеть неудачу, когда он входит в комплекс.См. Также Запуск JSF 2.0 на контейнере Servlet 2.4 .