儘管我花了整整一天的時間開發一個JSF應用程序,但我從來沒有對此事進行任何培訓,而且我必須管理我是一個仍然混淆了整個JSF難題適合在一起。 JSF只是看起來有點扔給我。向我解釋不同的JSF組件庫相關
- JSF-API
- jslt
- 小面
- MyFaces的
- 特立尼達
- 多巴哥
- JSP API
,我會很感激,如果任何人都可以給我簡要介紹了這些組件NTS,哪些是標準,哪些可以被排除在外,哪些可以/需要一起使用
儘管我花了整整一天的時間開發一個JSF應用程序,但我從來沒有對此事進行任何培訓,而且我必須管理我是一個仍然混淆了整個JSF難題適合在一起。 JSF只是看起來有點扔給我。向我解釋不同的JSF組件庫相關
,我會很感激,如果任何人都可以給我簡要介紹了這些組件NTS,哪些是標準,哪些可以被排除在外,哪些可以/需要一起使用
JSP和JSTL
JSP有經歷了許多迭代,但這是Java EE的核心動態頁面技術。這是一個可服務的API,但使用JSP通常意味着更多的手動管理代碼/資源。
JSTL是JSP標準模板庫。這是一組標準的JSP標籤。不要將這些標籤與JSF標籤混合;它們屬於不同的編程模型。
JSF API
JSF規範。這是JSF Model-View-Presenter框架的核心。這指定了一組簡單的核心組件和核心生命週期工件。有兩個廣爲人知的實現:Mojarra(開源的Sun API)和Apache MyFaces。 Java EE 5及更高版本的一部分。
的Facelets
視圖技術設計用於JSF。使用此代替JSP。您不能在Facelets視圖中使用JSP標籤。這在Java EE 5中不是標準的,但是在JSF2中進行了標準化(因此即將推出Java EE 6)。 Facelets提供的更好的模板通常意味着您可以更少地依賴第三方庫。
Facelets提供了一些看起來像JSP JSTL標籤但不共享任何代碼的標籤。通常應該避免使用這些標籤(請參閱Facelets doc獲取建議)。
阿帕奇特立尼達和多巴哥
這些是提供組件和其他設施JSF庫。由於核心控件集合相當基礎,因此常常使用這樣的庫,特別是在不使用Facelets的情況下。這些不是Java EE標準的一部分。庫兼容性各不相同另請參閱jsfmatrix.net。
我並不主張全面禁止JSTL標籤 - 民衆應該閱讀文檔並自行判斷。這是一個人們遇到問題的領域,尤其是當他們將JSP期望納入JSF應用程序並將其作爲另一個標記庫處理時。將JSF和非JSF標籤混合在一起需要詳細瞭解兩個生命週期(並且我常常覺得我太像編程到實現而不是抽象)。不過,你對這些功能是正確的。新的應用程序應該嘗試使用Facelets - 它更適合。 – McDowell 2009-11-20 10:15:47
JSTL不是JSP標準標籤庫嗎? – InverseFalcon 2009-12-17 23:02:06
@InverseFalcon - 這是,但我不確定你的意思。 – McDowell 2009-12-18 10:18:39