成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JSF組件模型開發指南

開發 后端
本文介紹JSF組件模型開發指南,以及組件的功能通常圍繞著兩個動作:解碼和編碼數據。

JSF組件模型

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

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

組件的功能通常圍繞著兩個動作:解碼和編碼數據。
◆解碼(decoding) 是把進入的請求參數轉換成組件的值的過程。
◆編碼 (encode) 是把組件的當前值轉換成對應的標記(也就是 HTML)的過程。JSF 框架提供了兩個選項用于編碼和解碼數據,使用直接實現 方式,組件自己實現解碼和編碼,使用委托實現 方式,組件委托渲染器進行編碼和解碼。

如果選擇委托實現,可以把組件與不同的渲染器關聯,會在頁面上以不同的方式渲染組件;例如多選列表框和一列復選框。因此,JSF 組件由兩部分構成:組件和渲染器。JSF 組件 類定義 UI 組件的狀態和行為;渲染器 定義如何從請求讀取組件、如何顯示組件 —— 通常通過 HTML 渲染。渲染器把組件的值轉換成適當的標記。事件排隊和性能驗證發生在組件內部。

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

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

這里描述的許多組件的概念將會是接下來展示的示例的一部分,所以請記住它們!

JSF 組件的LoginComponent

下面是我要采取的步驟:
1. 擴展 UIComponent創建一個類,擴展 UIComponent保存組件狀態用 faces-config.xml 登記組件
2. 創建定制標記,繼承 UIComponentTag,覆蓋 encode,覆蓋 decode,用 faces-config.xml 登記渲染器
3. 定義渲染器或者內聯地實現它,返回渲染器類型,返回組件類型,設置可能使用 JSF 表達式的屬性

JSF 組件的LoginComponent

【編輯推薦】

  1. 了解JSF整體架構
  2. 詳細介紹JSF和MVC
  3. JSF通過URL來傳遞參數
  4. Facelets使用JSF組件
  5. BackingBean和JSF配置文件
責任編輯:佚名 來源: JavaEye
相關推薦

2009-06-22 13:27:01

JSF組件模型

2025-06-26 02:24:00

Javaer大模型開發

2022-08-02 08:01:09

開發插件Chrome前端技術

2011-07-25 16:21:22

Sencha touc

2009-06-24 15:13:36

自定義JSF組件

2011-06-09 18:24:36

QT Wince

2012-03-26 09:27:40

谷歌安卓開發谷歌安卓

2023-05-15 18:44:07

前端開發

2021-01-21 13:21:18

鴻蒙HarmonyOSPhotoview組件

2021-01-12 12:04:40

鴻蒙HarmonyOS應用開發

2021-01-20 09:54:56

鴻蒙HarmonyOS開發

2021-06-28 14:48:03

鴻蒙HarmonyOS應用

2021-05-12 15:17:39

鴻蒙HarmonyOS應用

2021-01-18 09:52:20

鴻蒙HarmonyOS開發

2021-02-04 09:45:19

鴻蒙HarmonyOS應用開發

2021-08-09 09:47:34

Blazor 路由開發

2011-12-29 10:48:49

移動Web

2011-04-18 11:00:34

使用音頻BlackBerry

2012-05-18 10:08:56

TitaniumAndroid

2021-06-21 15:21:52

鴻蒙HarmonyOS應用開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久噜噜噜久久中文字幕色伊伊 | 欧美激情国产精品 | 天天操天天射综合网 | 亚洲国产精品va在线看黑人 | 国产aⅴ精品 | 日韩免费视频 | 热99| 久久午夜精品福利一区二区 | 国产1页 | 激情av网站| 成人h动漫亚洲一区二区 | 久久蜜桃av一区二区天堂 | 一区二区免费 | 91中文| 中文字幕欧美日韩 | 久草热播 | 91精品国产综合久久婷婷香蕉 | 日产久久| 日韩精品一区二区三区免费视频 | 精品免费 | 日批的视频 | 国产欧美在线视频 | 一区二区三区欧美 | 96国产精品久久久久aⅴ四区 | 国产欧美在线观看 | 羞羞视频在线网站观看 | 欧美福利影院 | 亚洲精品久 | 亚洲国产精品成人 | 黄色片网站国产 | 久久成人国产精品 | 色必久久 | 亚洲欧美一区二区三区国产精品 | 久色视频在线 | 久草网站 | 亚洲成人精品 | 欧美精品国产精品 | 亚洲人精品| 亚洲精品中文在线观看 | 国产精品精品视频一区二区三区 | 亚洲狠狠|