語言技術: JavaServer Faces

語言技術: 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 的輪廓與特性,我們來看看網頁設計人員與應用程式設計人員各負責什麼。
  • Managed Beans
JSF 使用 Bean 來達到邏輯層與表現層分離的目的,Bean 的管理集中在組態檔案中,您只要修改組態檔案,就可以修改 Bean 之間的相依關係。
  • 資料轉換與驗證
轉換器 (Converter)協助模型與視圖之間的資料轉 換,驗證器(Validator)協助進行語意檢驗(Semantic Validation)。
  • 事件處理
JSF 的事件模型提供一個近似的桌面 GUI 事件模式,讓熟悉GUI設計的人員也能快速上手Web程式設計。
JSF 標籤
        網頁設計人員要作的就是瞭解 JSF 的標籤的使用方式,這就像是學習進階的 HTML 標籤,另一件事就是與程式設計人員溝通好各個 Bean 的名稱綁定。
  • 標籤入門
標籤的相關屬性查 詢,您可以參考 Tag Library Documentation, 這邊的介紹只是一些簡單的入門實例。
  • 表格處理
對於必須使用表格 方式呈現的資料,JSF 的 <h:dataTable> 標籤協助您進行動態表格資料的輸出。

自訂元件
        JSF 讓您可以自訂元件,每個元件都是可替換的,這使得元件在搭配時更有彈性,但相對的卻使開發元件的過程複雜的多,這邊對自訂JSF 元件只是個入門磚,更多有關自訂元件的細節可得要專書來說明。
  • JSF 生命週期與元件概述
要開發 JSF 元件,您需要更深入瞭解 JSF 的一些處理細節,包括了 JSF 生命週期以及 JSF 框架。
  • 簡單實例
在不考慮元件有子 元件的情況下,這邊以實際的一個例子來說 明開發元件的過程,至於考慮子元件的情況請參考專書介紹。

參考資料