回 OPENHOME 首頁
語言技術: JavaServer Faces
JavaServer Faces
於2004年三月1.0版正式提出,清楚的將Web應用程式的開發者劃分了三個角色:網頁設計人員、應用程式設計人員以及UI元件開發人員。從使用的角度 來看,網頁設計人員與應用程式設計人員可以他們所熟悉的方式開發程式,而不用侵入彼此的工作範圍,而UI元件開發人員可以獨立的開發個別元件,細節的部份 留給了他們來處理。
總而言之,JavaServer Faces 協助了職責的分別,讓不同屬性的開發人員可以彼此合作,而又互不侵擾,UI元件的開發搭配整合開發環境(IDE)或是所視即可得的網頁編輯程式,讓Web 應用程式的開發得以簡單且迅速,藉此提高應用程式開發效率。
JavaServer Faces 可以簡單,可以複雜,端看您從哪個角色來看它,這邊的文件是在學習 JavaServer Faces 過程中的一些心得,嘗試從三個角色的位置來談談 JavaServer Faces。
使用 JSF
如果您是從使用的角度來看 JSF,則您不用理會 HTTP、資料轉換等細節,JSF 將細節都隱藏起來了,無論您是網頁設計人員或是應用程式設計人員,都可以使用自己熟悉的方式來看 JSF。
入門
藉由以下的幾個主 題,可以大致瞭解 JSF 的輪廓與特性,我們來看看網頁設計人員與應用程式設計人員各負責什麼。
簡介 JSF
第一個 JSF 程式
簡單的導航 (Navigation)
導航規則設置
JSF Expression Language
國際化訊息
Managed Beans
JSF 使用 Bean 來達到邏輯層與表現層分離的目的,Bean 的管理集中在組態檔案中,您只要修改組態檔案,就可以修改 Bean 之間的相依關係。
Backing Beans
Beans 的組態與設定
Beans 上的 List、Map
資料轉換與驗證
轉換器 (Converter)協助模型與視圖之間的資料轉 換,驗證器(Validator)協助進行語意檢驗(Semantic Validation)。
標準轉換器
自訂轉換器
標準驗證器
自訂驗證器
錯誤訊息處理
自訂轉 換、驗證標籤
事件處理
JSF 的事件模型提供一個近似的桌面 GUI 事件模式,讓熟悉GUI設計的人員也能快速上手Web程式設計。
動作事件
即時事件
值變事件
Phase 事件
JSF 標籤
網頁設計人員要作的就是瞭解 JSF 的標籤的使用方式,這就像是學習進階的 HTML 標籤,另一件事就是與程式設計人員溝通好各個 Bean 的名稱綁定。
標籤入門
標籤的相關屬性查 詢,您可以參考
Tag Library Documentation
, 這邊的介紹只是一些簡單的入門實例。
簡介 JSF 標準標籤
輸出 類標籤
輸入類 標籤
命令類標籤
選擇類標籤(一)
選擇類標籤(二)
其它標籤
表格處理
對於必須使用表格 方式呈現的資料,JSF 的 <h:dataTable> 標籤協助您進行動態表格資料的輸出。
簡單的表格
表頭、表尾
TableModel 類別
自訂元件
JSF 讓您可以自訂元件,每個元件都是可替換的,這使得元件在搭配時更有彈性,但相對的卻使開發元件的過程複雜的多,這邊對自訂JSF 元件只是個入門磚,更多有關自訂元件的細節可得要專書來說明。
JSF 生命週期與元件概述
要開發 JSF 元件,您需要更深入瞭解 JSF 的一些處理細節,包括了 JSF 生命週期以及 JSF 框架。
JSF 生命週期
概述自訂元件
簡單實例
在不考慮元件有子 元件的情況下,這邊以實際的一個例子來說 明開發元件的過程,至於考慮子元件的情況請參考專書介紹。
編碼、解碼
元件標籤
使用自訂元件
自訂 Renderer
參考資料
Core JavaServer Faces
使 用 JavaServer Faces 開發 UI
A first look at JavaServer Faces
Using JavaServer Faces Technology in JSP Pages
Free JSF (JavaServer Faces) Training Materials
Craig McClanahan's Weblog
JSF Central
Java Server Faces Resources