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

簡述JSF是什么

開發(fā) 后端
本文介紹JSF是什么,以及JSF 體系結(jié)構(gòu),JSF 生命周期和JavaServer Faces 的用戶界面組件等。

JSF是什么

JSF是什么?JavaServer Faces (JSF) 是一種用于構(gòu)建 Web 應(yīng)用程序的新標(biāo)準(zhǔn) Java 框架。它提供了一種以組件為中心來開發(fā) Java Web 用戶界面的方法,從而簡化了開發(fā)。JavaServer Faces 還引起了廣大 Java/Web 開發(fā)人員的興趣。“企業(yè)開發(fā)人員”和 Web 設(shè)計人員將發(fā)現(xiàn) JSF 開發(fā)可以簡單到只需將用戶界面 (UI) 組件拖放到頁面上,而“系統(tǒng)開發(fā)人員”將發(fā)現(xiàn)豐富而強健的 JSF API 為他們提供了無與倫比的功能和編程靈活性。JSF 還通過將良好構(gòu)建的模型-視圖-控制器 (MVC) 設(shè)計模式集成到它的體系結(jié)構(gòu)中,確保了應(yīng)用程序具有更高的可維護性。最后,由于 JSF 是通過 Java Community Process (JCP) 開發(fā)的一種 Java 標(biāo)準(zhǔn),因此開發(fā)工具供應(yīng)商完全能夠為 JavaServer Faces 提供易于使用的、高效的可視化開發(fā)環(huán)境。

JSF 體系結(jié)構(gòu)
JavaServer Faces 的 MVC 實現(xiàn)

JSF 的主要優(yōu)勢之一就是它既是 Java Web 用戶界面標(biāo)準(zhǔn)又是嚴(yán)格遵循模型-視圖-控制器 (MVC) 設(shè)計模式的框架。用戶界面代碼(視圖)與應(yīng)用程序數(shù)據(jù)和邏輯(模型)的清晰分離使 JSF 應(yīng)用程序更易于管理。為了準(zhǔn)備提供頁面對應(yīng)用程序數(shù)據(jù)訪問的 JSF 上下文和防止對頁面未授權(quán)或不正確的訪問,所有與應(yīng)用程序的用戶交互均由一個前端“Faces”servlet(控制器)來處理。

JavaServer Faces 的 MVC 實現(xiàn)

圖1 JavaServer Faces 的 MVC 實現(xiàn)

JSF 生命周期

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

JavaServer Faces 的用戶界面組件

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

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

其他用戶界面組件庫

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

Oracle 的 ADF Faces JSF UI 組件

圖2 Oracle 的 ADF Faces JSF UI 組件

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

開放源代碼的 MyFaces 實現(xiàn)和 UI 組件庫

圖3:開放源代碼的 MyFaces 實現(xiàn)和 UI 組件庫

JSF UI 組件的可插入呈現(xiàn)技術(shù)

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

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

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

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

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

JSF 開發(fā)工具

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

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

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

總結(jié)

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

【編輯推薦】

  1. JSF與Spring的集成
  2. 學(xué)習(xí)JSF的生命周期
  3. 在JBOSS服務(wù)器上使用Myfaces的JSF實現(xiàn)
  4. 選擇JSF的理由:從UI組件開始
  5. JSF中f:loadBundle標(biāo)簽的使用方法
責(zé)任編輯:佚名 來源: CSDN
相關(guān)推薦

2009-06-22 13:27:01

JSF組件模型

2009-06-22 15:52:15

JSF測試框架

2009-06-24 11:39:45

學(xué)習(xí)JSF

2009-06-23 09:53:10

JSF程序配置

2009-06-22 14:13:08

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基礎(chǔ)框架

2017-03-21 23:29:44

DevOps運維開發(fā)

2009-06-23 16:22:23

JSF能否

2009-06-23 13:01:04

JSF應(yīng)用

2009-06-23 13:55:17

JSF標(biāo)簽

2009-06-24 14:25:13

JSF整體架構(gòu)

2009-06-26 10:54:24

JSF技術(shù)

2009-06-29 14:30:27

JSF技術(shù)

2009-06-22 14:22:41

JSF和Tapestr

2009-06-26 10:22:58

JSF測試
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品日本一区二区在线播放 | 国产精品美女久久久久久久久久久 | 成人无遮挡毛片免费看 | 久久综合狠狠综合久久综合88 | 精品久久久久久中文字幕 | 欧美日韩中文字幕在线播放 | 国产乱精品一区二区三区 | 午夜久草 | 亚洲精选一区二区 | 男女爱爱福利视频 | 一区二区手机在线 | 国产激情自拍视频 | 日韩一区在线播放 | 国产精品视频网 | 亚洲欧美一区二区三区国产精品 | 日韩成人在线观看 | 久久国产精99精产国高潮 | 五月天激情综合网 | 国产免费人成xvideos视频 | 黄色成人免费看 | 亚洲久视频| 国产福利在线看 | 精品国产不卡一区二区三区 | 国产激情片在线观看 | 免费观看av | 99久久国产 | 日本在线一二 | 91视频大全 | 免费在线一区二区 | 亚洲精品乱码 | 日韩欧美中文字幕在线观看 | 欧美a在线 | 欧美日韩亚洲一区二区 | 亚洲在线高清 | 精品国产精品国产偷麻豆 | 日韩亚洲一区二区 | 国产成人影院 | 中文字幕久久精品 | 精品一区二区在线观看 | 日韩图区 | 老司机成人在线 |