總而言之,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 [http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/tlddocs/index.html],這邊的介紹只是一些簡單的入門實例。
- 表格處理
對於必須使用表格方式呈現的資料,JSF 的 <h:dataTable> 標籤協助您進行動態表格資料的輸出。
- 自訂元件
JSF 讓您可以自訂元件,每個元件都是可替換的,這使得元件在搭配時更有彈性,但相對的卻使開發元件的過程複雜的多,這邊對自訂JSF 元件只是個入門磚,更多有關自訂元件的細節可得要專書來說明。
- JSF 生命週期與元件概述
要開發 JSF 元件,您需要更深入瞭解 JSF 的一些處理細節,包括了 JSF 生命週期以及 JSF 框架。
- 簡單實例
在不考慮元件有子元件的情況下,這邊以實際的一個例子來說明開發元件的過程,至於考慮子元件的情況請參考專書介紹。
- 參考資料
- Core JavaServer Faces [http://www.horstmann.com/corejsf/]
- 使用 JavaServer Faces 開發 UI [http://www2.tw.ibm.com/developerWorks/tutorial/content/java/t20040206.html]
- A first look at JavaServer Faces [http://www.javaworld.com/javaworld/jw-11-2002/jw-1129-jsf.html]
- Using JavaServer Faces Technology in JSP Pages [http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSFPage.html]
- Free JSF (JavaServer Faces) Training Materials [http://courses.coreservlets.com/Course-Materials/jsf.html]
- Craig McClanahan's Weblog [http://blogs.sun.com/roller/page/craigmcc/20040927]
- JSF Central [http://www.jsfcentral.com/]
- Java Server Faces Resources [http://www.jamesholmes.com/JavaServerFaces/]
jwebee
我的個人網站