偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

JSF組件模型開發(fā)指南

開發(fā) 后端
本文介紹JSF組件模型開發(fā)指南,以及組件的功能通常圍繞著兩個(gè)動(dòng)作:解碼和編碼數(shù)據(jù)。

JSF組件模型

JSF組件模型與 AWT GUI 組件模型類似。它有事件和屬性,就像 Swing 組件模型一樣。它也有包含組件的容器,容器也是組件,也可以由其他容器包含。從理論上說,JSF組件模型分離自 HTML 和 JSP。JSF 自帶的標(biāo)準(zhǔn)組件集里面有 JSP 綁定,可以生成 HTML 渲染。

JSF 組件的示例包括日歷輸入組件和 HTML 富文本輸入組件。您可能從來(lái)沒時(shí)間去編寫這樣的組件,但是如果它們已經(jīng)存在,那會(huì)如何呢?通過把常用功能變成商品,組件模型降低了向 Web 應(yīng)用程序添加更多功能的門檻。

組件的功能通常圍繞著兩個(gè)動(dòng)作:解碼和編碼數(shù)據(jù)。
◆解碼(decoding) 是把進(jìn)入的請(qǐng)求參數(shù)轉(zhuǎn)換成組件的值的過程。
◆編碼 (encode) 是把組件的當(dāng)前值轉(zhuǎn)換成對(duì)應(yīng)的標(biāo)記(也就是 HTML)的過程。JSF 框架提供了兩個(gè)選項(xiàng)用于編碼和解碼數(shù)據(jù),使用直接實(shí)現(xiàn) 方式,組件自己實(shí)現(xiàn)解碼和編碼,使用委托實(shí)現(xiàn) 方式,組件委托渲染器進(jìn)行編碼和解碼。

如果選擇委托實(shí)現(xiàn),可以把組件與不同的渲染器關(guān)聯(lián),會(huì)在頁(yè)面上以不同的方式渲染組件;例如多選列表框和一列復(fù)選框。因此,JSF 組件由兩部分構(gòu)成:組件和渲染器。JSF 組件 類定義 UI 組件的狀態(tài)和行為;渲染器 定義如何從請(qǐng)求讀取組件、如何顯示組件 —— 通常通過 HTML 渲染。渲染器把組件的值轉(zhuǎn)換成適當(dāng)?shù)臉?biāo)記。事件排隊(duì)和性能驗(yàn)證發(fā)生在組件內(nèi)部。

所有 JSF組件模型是 UIComponent。在開發(fā)自己的組件時(shí),需要繼承 UIComponentBase,它擴(kuò)展了 UIComponent 并提供了 UIComponent 中所有抽象方法的默認(rèn)實(shí)現(xiàn)。組件擁有雙親和標(biāo)識(shí)符。每個(gè)組件都關(guān)聯(lián)著一個(gè)組件類型,組件類型用于在 face 的上下文配置文件(faces-config.xml)中登記組件??梢杂?JSF-EL (表達(dá)式語(yǔ)言)把 JSF 組件綁定到受管理的 bean 屬性。可以把表達(dá)式關(guān)聯(lián)到組件上的任何屬性,這樣就允許用 JSF-EL 設(shè)置組件的屬性值。在創(chuàng)建使用 JSF-EL 綁定的組件屬性時(shí),需要?jiǎng)?chuàng)建值綁定表達(dá)式。在調(diào)用綁定屬性的 getter 方法時(shí),除非 setter 方法已經(jīng)設(shè)置了值,否則 getter 方法必須用值綁定獲得值。組件可以作為 ValueHolder 或 EditableValueHolder。ValueHolder 與一個(gè)或多個(gè) Validator 和 Converter 相關(guān)聯(lián);所以 JSF UI 組件也與 Validator 和 Converter 關(guān)聯(lián)

像表單字段組件這樣的組件擁有一個(gè) ValueBinding,它必須綁定到 JavaBean 的讀寫屬性。組件可以調(diào)用 getParent 方法訪問它們的雙親,也可以調(diào)用 getChildren 方法訪問它們的子女。組件也可以有 facet 組件,facet 組件是當(dāng)前組件的子組件,可以調(diào)用 getFacets 方法訪問它,這個(gè)方法返回一個(gè)映射。Facets 是著名的子組件。

這里描述的許多組件的概念將會(huì)是接下來(lái)展示的示例的一部分,所以請(qǐng)記住它們!

JSF 組件的LoginComponent

下面是我要采取的步驟:
1. 擴(kuò)展 UIComponent創(chuàng)建一個(gè)類,擴(kuò)展 UIComponent保存組件狀態(tài)用 faces-config.xml 登記組件
2. 創(chuàng)建定制標(biāo)記,繼承 UIComponentTag,覆蓋 encode,覆蓋 decode,用 faces-config.xml 登記渲染器
3. 定義渲染器或者內(nèi)聯(lián)地實(shí)現(xiàn)它,返回渲染器類型,返回組件類型,設(shè)置可能使用 JSF 表達(dá)式的屬性

JSF 組件的LoginComponent

【編輯推薦】

  1. 了解JSF整體架構(gòu)
  2. 詳細(xì)介紹JSF和MVC
  3. JSF通過URL來(lái)傳遞參數(shù)
  4. Facelets使用JSF組件
  5. BackingBean和JSF配置文件
責(zé)任編輯:佚名 來(lái)源: JavaEye
相關(guān)推薦

2009-06-22 13:27:01

JSF組件模型

2025-06-26 02:24:00

Javaer大模型開發(fā)

2011-07-25 16:21:22

Sencha touc

2022-08-02 08:01:09

開發(fā)插件Chrome前端技術(shù)

2009-06-24 15:13:36

自定義JSF組件

2012-03-26 09:27:40

谷歌安卓開發(fā)谷歌安卓

2011-06-09 18:24:36

QT Wince

2023-05-15 18:44:07

前端開發(fā)

2021-01-18 09:52:20

鴻蒙HarmonyOS開發(fā)

2021-02-04 09:45:19

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-05-12 15:17:39

鴻蒙HarmonyOS應(yīng)用

2021-06-28 14:48:03

鴻蒙HarmonyOS應(yīng)用

2021-01-12 12:04:40

鴻蒙HarmonyOS應(yīng)用開發(fā)

2021-01-20 09:54:56

鴻蒙HarmonyOS開發(fā)

2021-01-21 13:21:18

鴻蒙HarmonyOSPhotoview組件

2009-06-24 13:06:41

JSF組件Facelets

2015-11-12 16:14:52

Python開發(fā)實(shí)踐

2019-10-31 08:00:00

機(jī)器學(xué)習(xí)人工智能AI

2010-06-13 09:27:56

Widget開發(fā)

2015-12-16 10:30:18

前端開發(fā)指南
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)