(在家觀看 = 0%,在校觀看 = 100%)
100% 在校觀看日期及時間:
自由選擇,點選以下地區觀看辦公時間及位置
課時: 6 小時
享用時期: 報讀日至 2 星期內,進度由您控制,可快可慢。
課堂錄影導師:Franco
在校免費試睇:首半小時,請致電以上地點與本中心職員預約。
本課程提供在校免費重睇及導師解答服務。
(在家觀看 = 100%,在校觀看 = 0%)
100% 在家觀看日期及時間:
每天 24 小時全天候不限次數地觀看
學費:$980 報名 phone
電話:2332-6544
課時: 6 小時
享用時期: 報讀日至 2 星期內,進度由您控制,可快可慢。
課堂錄影導師:Franco
在校免費試睇:首半小時,請致電以上地點與本中心職員預約。
本課程提供導師解答服務。
J2EE (Java 2 Platform, Enterprise Edition) 自從 1999 年面世以來不斷發展,發展成今天的 Java EE (Java Platform, Enterprise Edition)。Java EE 提供開發人員一個豐富的平台以開發動態網頁、Web Services等企業應用軟件 (Enterprise Applications)。
Java EE 平台包括
- Bean Validation
- Common Annotations for the Java Platform
- Contexts and Dependency Injection for the Java EE Platform
- Dependency Injection for Java
- Enterprise JavaBeans (EJB)
- Interceptors
- Java API for JSON Processing (JSON-P)
- Java API for RESTful Web Services (JAX-RS)
- Java API for WebSocket (WebSocket)
- Java Persistence API (JPA)
- Java Transaction API (JTA)
- JavaServer Faces (JSF)
- JavaServer Pages Standard Tag Library (JSTL)
- JavaServer Pages (JSP)
- Managed Beans
- Servlet
- Unified Expression Language (EL)
- …
Java EE 亦有不少 frameworks 可以選用,當中包括
- Hibernate
- JavaServer Faces (JSF)
- Spring
- Struts / Struts 2
- Tapestry
本課程是我們其中一個 Java EE 的深造課程,本深造課程旨在教授 JSF (JavaServer Faces) 及 Managed Beans 之間的各種互動。JSF 與 Managed Beans 之間微妙的互動能大幅度簡化 MVC (Model–view–controller) 開發的難度,令狀態管理、流程控制、資料傳遞等都變得容易,同時亦令程式變得更具結構性,更新和維護程式都變得容易。
Bean validation 是 Java EE 平台的標準驗證模型 (validation model),令我們可以透過 annotations 等技術以限制物件模型 (object models)。Bean validation 的其中一個精神是 “run once, constrain anywhere.”,故此 Bean validation 能應用在 Java EE 的其他地方上,例如 CDI (Contexts Dependency Injection), Entity insert 等,而本課程會使用 Bean validation 驗證用戶在 JSF 上所輸入的字串。
課程導師在課程初段會配合實用例子教授 JSF 和 Managed Beans 的結構及互動,然後教授 JSF 的各項特點,包括 Convertors、Validators、Bean validation 與 Validators 之間的融合、多國語言、Ajax 等課題。最後教授進階課題,例如使用 Servlet Filters 配合 JSF 及 Managed Beans 以處理登入問題。
課程名稱: |
Java EE 程式編寫深造課程 (主要教授 JSF 及 Bean Validation) - 簡稱:Java EE Training Course (Advanced) |
課程時數: | 6 小時 (共 2 堂) |
適合人士: | 已修畢 “Java EE 程式編寫基礎課程 (主要教授 JSP, Servlet, JSTL 和 EL)” 或具備同等知識 |
授課語言: | 以廣東話為主,輔以英語 |
課程筆記: | 本中心導師親自編寫中文為主筆記,而部份中文字附有英文對照。 |
課程名稱:Java EE 程式編寫深造課程 (主要教授 JSF 及 Bean Validation) - 簡稱:Java EE Training Course (Advanced) |
- MVC 概念
- JSF 結構
- 使用 JSF 顯示靜態資料
- 使用 JSF 顯示動態資料
- JSF 不同頁面之間的導航 (Navigation)
- Managed Bean 結構
- @RequestScoped (javax.faces.bean.RequestScoped)
- @SessionScoped (javax.faces.bean.SessionScoped)
- @ApplicationScoped (javax.faces.bean.ApplicationScoped)
- JSF Lifecycle
- <;h:message>; 與 FacesMessage (javax.faces.application.FacesMessage)
- JSF 不同頁面之間的資料傳遞
- JSF EL
- 擺脫 url-pattern “/faces/*”
第二部份:Facelets
- <;h:outputText>;
- <;h:outputLabel>;
- <;h:outputFormat>;
- <;h:outputLink>;
- <;h:inputText>;
- <;h:inputSecret>;
- <;h:inputTextarea>;
- <;h:selectOneMenu>;
- <;h:selectManyListbox>;
- <;h:selectManyCheckbox>;
- <;h:selectOneRadio>;
- <;h:graphicImage>;
- <;h:commandButton>;
- <;h:dataTable>;
- <;h:column>;
- <;h:inputFile>; 及上傳檔案
- <;f:facet>;
- <;f:selectItems>;
- <;f:param>;
- 隱式轉換 (Implicit Conversion)
- <;f:convertNumber>;
- <;f:convertDateTime>;
- 在 Managed Beans 內進行 Conversion。
- <;f:validateLongRange>;
- <;f:validateLength>;
- <;f:validateRegex>;
- <;f:validateRequired>;
- faces-config.xml
- Bundle 概念
- properties 檔案
- 自定 Validators 文字
- Validator (javax.faces.validator.Validator) 介面及自定 Validator
- 在 Managed Beans 內進行 Validation
- Bean Validation 概念
- 融合 Bean Validation 和 Validator
- @Digits
- @Range
- @NotEmpty
- @Size
- @Pattern
第五部份:其他課題
- Ajax
- 設定預設語言
- 提供多國語言
- 使用 Servlet Filter 以進行驗證
- Error Page 的處理
1 事前準備
2 準備編寫及執行 Java EE 軟件的環境
3 JSF 概觀
3.1 JSF 介紹
3.2 使用 JSF 的好處
4 JSF、FacesServlet 和 Managed Beans
4.1 JSF 的MVC
4.2 JSF 結構
4.2.1 實習:JSF 結構:新增 JSF 應用程序
4.2.2 實習:JSF 結構:web.xml
4.2.3 實習:JSF 結構:index.xhtml
4.2.4 實習:JSF 結構:顯示靜態資料
4.3 Managed Beans
4.3.1 實習:Managed Beans:顯示現在的日期 (動態資料)
4.4 頁面之間的導航
4.4.1 Forward
4.4.2 Redirect
4.4.3 實習:Forward
4.4.4 實習:Redirect
4.4.5 實習:Forward with Managed Beans
4.5 Managed Bean Scopes (範圍)
4.5.1 @RequestScoped (javax.faces.bean.RequestScoped)
4.5.1.1 實習:@RequestScoped (javax.faces.bean.RequestScoped)
4.5.2 @SessionScoped (javax.faces.bean.SessionScoped)
4.5.2.1 實習:@SessionScoped (javax.faces.bean.SessionScoped)
4.5.3 @ApplicationScoped (javax.faces.bean.ApplicationScoped)
4.5.3.1 實習:@ApplicationScoped (javax.faces.bean.ApplicationScoped)
4.6 頁面之間的資料傳遞
4.6.1 實習:頁面之間的資料傳遞
4.7 JSF 內的 JSTL 及 EL
4.7.1 實習:JSF 內的 JSTL 及 EL
4.8 Faces Servlet 的 url-pattern
5 Facelets
5.1 <h:outputText>、<h:outputLabel>、<h:outputFormat> 及 <h:outputLink>
5.1.1 實習:<h:outputText>、<h:outputLabel>、<h:outputFormat> 及 <h:outputLink>
5.2 <h:inputText>、<h:inputSecret> 及 <h:inputTextarea>
5.2.1 實習:<h:inputText>、<h:inputSecret> 及 <h:inputTextarea>
5.3 <h:selectOneMenu>
5.3.1 實習:<h:selectOneMenu>
5.3.2 實習:<h:selectOneMenu>:設定預設值 (方法1)
5.3.3 實習:<h:selectOneMenu>:設定預設值 (方法2)
5.4 <h:selectManyListbox>
5.4.1 實習:<h:selectManyListbox>
5.5 <h:selectManyCheckbox>
5.5.1 實習:<h:selectManyCheckbox>
5.6 <h:selectOneRadio>
5.6.1 實習:<h:selectOneRadio>
5.7 <h:graphicImage>
5.7.1 實習:<h:graphicImage>
5.8 <h:dataTable>、<h:column>、</f:facet>、<h:outputStylesheet> 與實踐 CSS
5.8.1 實習:<h:dataTable>、<h:column>、</f:facet>:使用表 (Table) 顯示數據
5.8.2 實習:<h:outputStylesheet> 與實踐 CSS
5.9 <h:message> 與 javax.faces.context.FacesContext
5.9.1 實習:<h:message> 與 javax.faces.context.FacesContext
5.10 <h:inputFile> 及上傳檔案
5.10.1 實習:<h:inputFile> 及上傳檔案
6 Converters
6.1 <f:convertNumber>
6.1.1 實習:<f:convertNumber>
6.2 <f:convertDateTime>
6.2.1 實習:<f:convertDateTime>
6.3 在 Managed Beans 內進行 Conversion
6.3.1 實習:在 Managed Beans 內進行 Conversion
6.4 Implicit conversions
7 Validators 及 Bean Validation
7.1 <f:validateLongRange>、<f:validateLength> 及顯示錯誤訊息
7.1.1 實習:<f:validateLongRange> 及 <f:validateLength>
7.2 faces-config.xml、properties 檔案及自定錯誤訊息
7.2.1 實習:faces-config.xml、properties 檔案及自定錯誤訊息
7.3 <f:validateRequired> 及 <f:validateRegex>
7.4 Bean Validation
7.4.1 實習:Bean Validation:@Digit、@Size、@Pattern、@Range、@NotEmpty
8 多國語言
8.1 實習:多國語言
9 Ajax
9.1 實習:Ajax in JSF
10 Servlet Filter 及驗證
10.1 實習:Servlet Filter 及驗證
11 Error pages
11.1 實習:Error pages
12 附錄1:JSF page lifecycle
12.1 RESTORE_VIEW
12.2 APPLY_REQUEST_VALUES
12.3 PROCESS_VALIDATIONS
12.4 UPDATE_MODEL_VALUES
12.5 INVOKE_APPLICATION
12.6 RENDER_RESPONSE