Java Server Faces

JSF JSF JSF

JavaServer Faces (JSF)

簡介

JavaServer Faces (JSF) 是一種用於構建 Web 應用程式的新標準 Java 框架。它提供了一種以組件為中心來開發 Java Web 用戶界面的方法,從而簡化了開發。JavaServer Faces 還引起了廣大 Java/Web 開發人員的興趣。“企業開發人員”和 Web 設計人員將發現 JSF 開發可以簡單到只需將用戶界面 (UI) 組件拖放到頁面上,而“系統開發人員”將發現豐富而強健的 JSF API 為他們提供了無與倫比的功能和編程靈活性。

結構

JSF 還通過將良好構建的模型-視圖-控制器 (MVC) 設計模式集成到它的體系結構中,確保了應用程式具有更高的可維護性。最後,由於 JSF 是通過 Java Community Process (JCP) 開發的一種 Java 標準,因此開發工具供應商完全能夠為 JavaServer Faces 提供易於使用的、高效的可視化開發環境。

JSF 體系結構

JavaServer Faces 的 MVC 實現

JSF 的主要優勢之一就是它既是 Java Web 用戶界面標準又是嚴格遵循模型-視圖-控制器 (MVC) 設計模式的框架。用戶界面代碼(視圖)與應用程式數據和邏輯(模型)的清晰分離使 JSF 應用程式更易於管理。為了準備提供頁面對應用程式數據訪問的 JSF 上下文和防止對頁面未授權或不正確的訪問,所有與應用程式的用戶互動均由一個前端“Faces”servlet(控制器)來處理。
圖 1:JavaServer Faces 的 MVC 實現
JSF 生命周期Faces Controller servlet 充當用戶和 JSF 應用程式之間的紐帶。它在明確限定的 JSF 生命周期(規定了用戶請求之間的整個事件流)的範圍內工作。例如,一收到訪問 JSF 應用程式的初始 Web 請求,Faces Controller servlet 便通過首先準備 JSF 上下文(存放所有應用程式數據的一個 Java 對象)來處理請求。然後控制器把用戶指引到所請求的頁面。該頁面通常使用簡單的表達式語言來處理來自 JSF 上下文的應用程式數據。一收到後續請求,控制器就更新所有模型數據(假設輸入了新數據)。JSF 開發人員可以通過編程的方式在應用程式運行期間隨時訪問整個 JSF 生命周期,從而可以隨時對應用程式的行為進行高度控制。

JSF 參考實現

目前比較優秀的由sun實現和 apache 的myfaces實現
sun 實現網址:參見擴展閱讀
有實現的jar 包下載。
apache實現網址:參見擴展閱讀
最新版本,都支持JSF 2.0規範。

JSF2.0的一些新特性

為了更好的支持Ajax,擴大了請求處理生命期。將“樹結構的生成”和“樹結構的使用”分成兩個獨立的生命期階段。允許部分樹在生命期內通過Ajax來訪問集合允許可標記的JSF頁面。更廣泛的說,如果HTTP GET 可以使用,該JSF頁面就可以使用。更合適的客戶端之間和內部組件,表單級的驗證(如果可以使用JSR303驗證)對綁定和分發與某個組件相關靜態資源的良好支持,包括:圖片、樣式表、腳本等。也應該能指定資源的默認位置。對標準html組件的策略性補充:日期選擇其,樹、標籤瀏覽、檔案上傳控制項。提供某種機制,以儘量減少“丟失更新”和“複製按鈕按下”的問題。這些機制必須是外掛程式形式或可由用戶定製。頁面動作:是指“當頁面載入時,調用這些動作(如果有必要的話,可以通過Ajax)”。提供一種機制,使得訪問持久存儲變得容易。

相關詞條

相關搜尋

熱門詞條

聯絡我們