JavaServer Faces(JSF)学习笔记

From Gossip@caterpillar

開源框架: 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
 

你可能感兴趣的:(bean,JSF,validation,documentation,resources,Semantic)