成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡述JSF是什么

開發 后端
本文介紹JSF是什么,以及JSF 體系結構,JSF 生命周期和JavaServer Faces 的用戶界面組件等。

JSF是什么

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(控制器)來處理。

JavaServer Faces 的 MVC 實現

圖1 JavaServer Faces 的 MVC 實現

JSF 生命周期

Faces Controller servlet 充當用戶和 JSF 應用程序之間的紐帶。它在明確限定的 JSF 生命周期(規定了用戶請求之間的整個事件流)的范圍內工作。例如,一收到訪問 JSF 應用程序的初始 Web 請求,Faces Controller servlet 便通過首先準備 JSF 上下文(存放所有應用程序數據的一個 Java 對象)來處理請求。然后控制器把用戶指引到所請求的頁面。該頁面通常使用簡單的表達式語言來處理來自 JSF 上下文的應用程序數據。一收到后續請求,控制器就更新所有模型數據(假設輸入了新數據)。JSF 開發人員可以通過編程的方式在應用程序運行期間隨時訪問整個 JSF 生命周期,從而可以隨時對應用程序的行為進行高度控制。

JavaServer Faces 的用戶界面組件

JavaServer Faces 的真正威力在于它的用戶界面組件模型。在該模型中,應用程序完全用組件集合構建,這些組件可以針對多種客戶端類型用不同的方式來進行顯示。與其他專有技術(如 ASP.Net)有點類似,JSF 的 UI 組件模型技術使開發人員能夠使用預先構建的用戶界面 (UI) 組件來構建 Web 用戶界面(而非完全從頭構建用戶界面),從而提供了前所未有的開發效率。JSF UI 組件有多種形式,可以簡單到只是顯示文本的 outputLabel,或者復雜到可以表示來自數據集合(如數據庫表)的表格化數據的 dataTable。

JavaServer Faces 規范在其參考實施中提供了一組基本 UI 組件,這些組件本身是非常有用的。它們包括兩個組件庫,即“HTML”組件庫 — 它大部分映射了標準的 HTML 輸入元素;以及“核心”庫 — 它輔助常見的應用程序開發任務(如,國際化和驗證/轉換輸入數據)。除了提供一個基本 UI 組件庫之外,JSF API 還提供了擴展和創建定制 JSF UI 組件的功能,從而在基本組件之上提供更多功能。

其他用戶界面組件庫

由于 JSF API 的豐富性和靈活性,許多 Java 開發人員開始創建新的 JSF 組件庫和實現。Oracle 的 ADF Faces 是一個完全符合 JSF 規范的組件庫,它為 JSF 應用程序開發提供了一組廣泛的增強 UI 組件。這些組件包括針對每種客戶端類型的多種呈現器、高級表格、顏色和日期選擇器以及大量通用組件(如菜單、命令按鈕、轉移選擇器和進度指示計)。

Oracle 的 ADF Faces JSF UI 組件

圖2 Oracle 的 ADF Faces JSF UI 組件

除了 Oracle 的 ADF Faces 之外,還有其他新的 JSF 組件庫開始從開放源代碼社區和軟件供應商社區中出現。MyFaces 就是一個新 JSF UI 組件庫的例子,它通過 Apache 作為一個開放源代碼項目提供的。Myfaces 還是對 JSF 基本 UI 組件的增強,它擁有更廣泛的 UI 功能,如集成的 Tiles 支持、支持 Javascript 的菜單和樹控件。

開放源代碼的 MyFaces 實現和 UI 組件庫

圖3:開放源代碼的 MyFaces 實現和 UI 組件庫

JSF UI 組件的可插入呈現技術

JSF UI 組件技術最引人注目一個方面就是它的可插入呈現功能。JSF UI 組件能夠根據查看組件的客戶端的類型來以不同方式呈現自身。例如,HTML 瀏覽器將看到特定 UI 組件的“HTML 瀏覽器友好”版本,而支持無線或 WAP 的微型設備將看到同一 UI 組件的“WML 友好”版本!JSF 通過解除 UI 組件與其呈現邏輯之間的耦合從而能夠為同一 UI 組件創建多個呈現器實現了這一功能。不同的呈現器可以與 UI 組件相關聯,在運行時 UI 組件可以根據請求的客戶端類型決定使用哪個呈現器。

一個 ADF Faces 表格組件針對無線客戶端和 HTML 客戶端進行了不同的呈現

圖4:一個 ADF Faces 表格組件針對無線客戶端和 HTML 客戶端進行了不同的呈現

還應當指出的是,由于 JSF 的可插入呈現功能,使得 JSF UI 組件能夠顯示任何類型的數據,無論它是標記數據(如 HTML、XML、WML 等)還是二進制數據。例如,UI 組件還可以顯示二進制數據,如圖像流或不同的文檔類型,如 SVG、PDF 和 Word。
 
一個新的 JSF 組件開發人員社區

隨著 JSF 開發人員和擁護者社區的不斷壯大,現在有幾個網站致力于進一步推動獨立的 JSF 開發。JSFCentral 就是一個完全為 JSF 開發社區服務的新網站。它包含 JSF 技術信息、產品/組件信息以及大量與 JSF 相關的文章。

JSF 開發工具

因為 JavaServer Faces 是一種標準的 Java 技術,因此軟件開發工具完全能夠為 JavaServer Faces 提供高級的集成開發工具支持。多個供應商現在不同程度地支持 JSF 開發,這大大提高了 JSF 的易用性和功能。Oracle、Sun、Borland 和 IBM 都為 JavaServer Faces 提供了開發環境。由于開發工具供應商在競相提供更好、更簡單和更多的開發環境,因此基于 IDE 的 JSF 開發擁有美好的前景!

Oracle 的 JDeveloper 提供高效、可視化的 JSF 開發體驗

圖5:Oracle 的 JDeveloper 提供高效、可視化的 JSF 開發體驗

總結

JSF是什么?JavaServer Faces 通過提供模型-視圖-控制器設計模式的一個簡潔實現,同時在不犧牲開發能力和靈活性的前提下提供高效的以組件為中心的開發,解決了 Java Web 開發的許多歷史問題。此外,因為 JSF 是一種 Java 標準,因此多個軟件供應商將繼續提供始終高效的開發環境,這些開發環境毫無疑問將達到或很可能超過專有的可視化開發環境。請繼續關注!

【編輯推薦】

  1. JSF與Spring的集成
  2. 學習JSF的生命周期
  3. 在JBOSS服務器上使用Myfaces的JSF實現
  4. 選擇JSF的理由:從UI組件開始
  5. JSF中f:loadBundle標簽的使用方法
責任編輯:佚名 來源: CSDN
相關推薦

2009-06-22 14:13:08

JSF入門

2009-06-22 13:27:01

JSF組件模型

2009-06-23 09:53:10

JSF程序配置

2009-06-22 15:52:15

JSF測試框架

2009-06-24 11:39:45

學習JSF

2009-09-28 11:12:52

Hibernate O

2009-06-25 15:09:34

選擇JSFESRI

2009-09-23 17:56:45

JSF入門

2009-06-25 11:11:25

控制JSF切入點

2009-06-26 13:48:57

G4JSFGWTJSF

2009-06-26 14:06:08

JSF基礎框架

2017-03-21 23:29:44

DevOps運維開發

2009-06-23 16:22:23

JSF能否

2009-06-23 13:01:04

JSF應用

2009-06-23 13:55:17

JSF標簽

2009-06-24 14:25:13

JSF整體架構

2009-06-26 10:54:24

JSF技術

2009-06-29 14:30:27

JSF技術

2009-06-22 14:22:41

JSF和Tapestr

2009-06-26 10:22:58

JSF測試
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 特黄级国产片 | 日韩电影在线一区 | 欧美激情第一区 | 国产精品一区二区欧美黑人喷潮水 | 免费观看羞羞视频网站 | 亚洲视频国产视频 | 欧美成人性生活 | 蜜桃视频在线观看免费视频网站www | 特黄视频| 日韩在线小视频 | 国产精品18hdxxxⅹ在线 | 久久er99热精品一区二区 | 久久成人精品一区二区三区 | 欧美精品一区久久 | 五月天天丁香婷婷在线中 | 特黄一级 | 色综合久久天天综合网 | 亚洲视频在线播放 | 羞羞午夜 | 亚洲日本一区二区 | 干干天天 | 91超碰在线观看 | 国产亚洲精品精品国产亚洲综合 | 欧美成人一区二区 | 在线观看中文字幕 | 精品一区二区三区91 | 日韩中文字幕在线 | com.色.www在线观看 | 日韩视频精品在线 | 日韩一区二区三区在线 | 国产精品成人在线观看 | 国产综合精品一区二区三区 | 欧美精品在线一区二区三区 | 99精品一区二区三区 | 日韩一区二区三区四区五区 | 91高清视频 | 亚洲精品成人在线 | 日本高清不卡视频 | 久草视频观看 | 日韩av成人 | 成人毛片视频免费 |