JSF 作為標準,處處可見 Sun 風格。對 Struts 開發者順眼(作者用 Tapestry 也覺順眼)。初學者常困惑:JSF 1.1、1.2、MyFaces、Oracle ADF、Ajax4JSF、Facelets 究竟是什麼?關係如何?本文一次釐清。
標準 vs 實現:JSF 1.1 / 1.2
- JSF 1.1、1.2:定義介面、規範(面向介面編程)的標準,需經實現才能使用。
- JSF RI (Reference Implementation):Sun 官方實現,兼容性好、穩定(1.1 久未更新,轉向 1.2)。
- MyFaces Core:Apache 實現,更新快、功能多。初學者建議用 JSF RI 1.1;1.2 需 Servlet 2.5/JSP 2.1 及伺服器支援,尚不穩定。
MyFaces 家族:一個大項目、多個子項目
- MyFaces Core:核心實現。
- Sandbox:測試用。
- Tabago:組件庫,支援換膚、Ajax 組件。
- Tomahawk (TOM):豐富增強組件庫(~30 個:Tree、Tab 等)。
- ADF Faces:與 Oracle ADF 相關,兼容整合 ADF 功能。
Oracle ADF
Oracle 為 JSF 做的大型組件庫,前收費現開源,作者未用不評價。
Ajax4JSF
為 JSF 提供 Ajax 支援的標籤庫:用其標籤即可在既有 JSF 程式輕鬆加入 Ajax 功能,零 JavaScript 編寫。
Facelets:激動人心的框架