我使用的是jboss 4.0和Java 1.5。我想使用JSF,但我知道这个版本适合JSF 1.1版本。是否可以在JBoss 4.0上使用最新的JSF版本?
答案 0 :(得分:4)
由于JSF API构建于JSP / Servlet API之上,因此支持的最大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。如果用Facelets 1.x替换JSP 2.1作为默认视图技术,那么可以在Servlet 2.4上使用JSF 1.2。
默认情况下使用的JSF 2.0 Facelets 2.x需要最少的EL 2.1,它与Servlet 2.5密切相关,因此它需要在所有Servlet 2.5之后。如果您提供自己的EL 2.1 API / impl,那么理论上 可以在Servlet 2.4上运行JSF 2.0。
JSF 2.1至少需要Servlet 3.0 and Java 1.6 (6.0)。
JBoss 4.x是一个Servlet 2.4容器。因此,如果您坚持使用JSP,那么您最多可以使用JSF 1.1。但是如果你用Facelets 1.x替换JSP,那么你可以使用JSF 1.2。 JSF 1.2提供了摆脱<f:verbatim>
,使用<f:setPropertyActionListener>
,使用@PostConstruct
等的最重要的优势。
JSF 2.0 理论可能,但我不保证它会100%工作,因为我不完全了解任何可能的副作用。到目前为止,我只是在Tomcat 5.5上使用ajax表单和视图范围bean的非常基本的测试页面成功运行它。它进入复杂时可能会失败。另请参阅Running JSF 2.0 on Servlet 2.4 container。