在 JavaServer Faces Technology 中提供了很多有用的特性。需要著重介紹的一些主要功能包括:
- Managed Bean 工具
- 驗證工具
- 豐富且可擴展的組件庫
- 插入式呈現(xiàn)工具包
- 對具體用戶事件響應的導航
- 跨請求保留應用程序狀態(tài)
- 轉(zhuǎn)換模型
本文將簡要介紹 JavaServer Faces Technology 的這些功能并且給出一些例子。
關于這些功能的詳細信息和 JavaServer Faces Technology 提供的其他功能,請參考 J2EE 指南的 JavaServer Faces Technology 的相關章節(jié)(第 17-21 章)。
JavaServer Faces 應用程序?qū)嵸|(zhì)上是一個運行在一個與 Java(TM) 2 Platform, Enterprise Edition (J2EE(TM) platform) 兼容的容器中的 Servlet 或者 Java Server Pages(JSP) 應用程序。這說明它需要 Java Servlet 2.3 和 JSP 1.2 或者更新的版本。 開始創(chuàng)建和配置一個 JavaServer Faces 應用程序的最好的方法是免費下載Java 2 Software Development Kit, Standard Edition (J2SE SDK) 1.4 或者更高版本。需要指出的是,JavaServer Faces Technology 不要求在應用程序中使用 JSP 頁面,您可以自由選擇直接使用 Servlets 或者其他模板技術。如果確實對 JSP 容器使用了 JavaServer Faces Technology,您將通過 JavaServer Faces 的客戶組件標簽從內(nèi)建的 JavaServer Faces 內(nèi)核和 HTML 組件庫中受益。JavaServer Faces 組件代表像文本字段、表單、按鈕、表格、復選框等的 Web 控件。
使用 JavaServer Faces Technology 創(chuàng)建一個 JSP 頁面時,在服務器的內(nèi)存中會建立一個組件樹,每一個組件標簽對應樹中的一個 UIComponent 實例。該框架使用組件樹來處理應用程序的請求并且創(chuàng)建一個呈現(xiàn)出的響應。當用戶生成一個事件時,例如,點擊了一個按鈕,JavaServer Faces 生命周期即處理該事件并且產(chǎn)生適當?shù)捻憫_@是一個對大多數(shù)圖形用戶界面編程的表單而言而常見的一種的范例(paradigm)。
FacesServlet 是進入 JavaServer Faces 框架的入口點。它處理請求處理生命周期并且用作一個前端控制器。JavaServer Faces Technology 也有保存重要請求信息的上下文的概念。上下文對象被稱為 FacesContext 。在 JavaServer Faces Technology 生命周期的每個階段上下文對象都被修改并且每次請求時都是有效的。
JavaServer Faces Technology 框架也有“值綁定”和“方法綁定表達式”的概念。如果熟悉了像 JSP Standard Tag Library (JSTL) 或者 JSP 2.0 這樣的技術,您就已經(jīng)熟悉了表達式語言的概念。JavaServer Faces Technology 綁定表達式使您可以容易地和底層數(shù)據(jù)模型交互。Character Combat 演示應用程序舉例說明了如何使用“值綁定”從數(shù)據(jù)模型中提取值。