2011-08-26 116 views

回答

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。如果您將JSP 2.1替換爲Facelets 1.x作爲默認視圖技術,那麼您可以在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

+0

非常感謝您的描述。 – angus

+0

不客氣。既然你是新來的,請不要忘記標記接受的答案(大多數情況下)以解決問題:http://meta.stackexchange.com/questions/5234/how-does-accepting-an-答案工作/ 5235#5235 – BalusC