国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Facelets非常適合JSF組件

開發 后端
本文介紹Facelets與JSF組件,包括Facelets 模板框架和從Tiles到Facelets等。

由于最近在 Java™ 服務器外觀(JSF)項目上工作,我很有幸第一次使用了 Facelets。關于 Facelets,我最喜歡的是它讓我可以創建可重用的復合組件。能夠拿出一個頁面(例如 JSP)并把它變成組件,對于我的 JSF 開發來說真是莫大的好處。我的結論是什么?如果不用 Facelets,那么就無法得到能從 JSF 獲得的最大收獲。

JSF 和 Java 服務器頁面技術之間的不匹配,是 JSF 開發中的一個嚴重問題。問題是如何把 JSP 的動態內容集成到 JSF 基于組件的模型中。JSP 非常重視生成動態內容輸出,而 JSF 需要 JSP 來協調組件模型的構建。因為這個任務超出了 JSP 原來的目的,所以產生了距離。

大多數 JSF 開發人員只是學會了一事一議地解決這類問題,但是這就像在錘子上放一個枕頭,最終還會掉下來打傷腦袋。Facelets 是更加全面的解決方案:專為 JSF 組件模型度身定制的模板化語言。

Facelets 有以下吸引人的特性:


◆模板化(像 Tiles)
◆復合組件
◆定制的邏輯標記
◆表達式語言
◆對設計師友好的頁面開發
◆創建組件庫

這些特性比我想像的要更相關和統一。在這篇文章中,我討論前兩個:模板化和復合組件。我使用的 Web 應用程序基于為我的針對懷疑者的 JSF 系列開發的一個應用程序,我把它更新成使用 Facelets 視圖而不是 Tiles。在進一步閱讀之前,應當 下載示例代碼。如果要隨著討論一起操作,還需要 安裝 Facelets。

Facelets 概述

對于 Facelets 可能會做的最大一個錯誤假設,就是它只是 Tiles 的替代品。Facelets 遠不止如此:它是思考 JSF 的新方式。

更多組件概念

所有 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 關聯(請參閱 參考資料 獲得更多關于 JSF 驗證和轉換的內容。)

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

JSP 是種生成 servlet 的模板化語言。JSP 的主體與 servlet 的 doGet() 和 doPost() 方法等價(也就是說,成為 jspService() 方法)。JSF 定制標記(例如 f:view 和 h:form)只是調用 JSF 組件來呈現它們自己的當前狀態。JSF 組件模型的生命周期獨立于 JSP 生成的 servlet 的生命周期。這種獨立性就是混淆的來源。

與 JSP 不同,Facelets 這個模板化語言,從構建之初,就考慮了 JSF 的組件生命周期。使用 Facelets,生成的模板會構建組件樹,而不是 servlet。這就允許更好的重用,因為可以把組件組合成另一個組件。

Facelets 減少了編寫定制標記才能使用 JSF 的需求。Facelets 本身就可以使用 JSF 定制組件。溝通 JSF 和 Facelets 只需要很少的特殊編碼:要做的全部工作就是在 Facelet 標記庫文件中聲明 JSF 組件。在 Facelets 模板化語言中可以直接使用 JSF 組件,不用任何額外的開發。

Facelets 模板框架

在提供針對組件構建設計的模板框架方面,Facelets 與 Tapestry (請參閱 參考資料)類似。但是,對于具有 JSP 背景的我們來說,Facelets 看起來比 Tapestry 友好得多。它允許使用熟悉的 JSTL 樣式的標記和 JSTL/JSF/JSP 樣式的表達式語言。大大降低的學習曲線意味著可以更加迅速地開始開發。

Facelets 允許定義能夠直接包含進頁面或者容易地添加到 Facelet 標記庫的組件集。實際上讓人高興的是在 Facelets 中定義定制標記(復合組件和類似 JSP 定制標記的標記)的迅速。使用這些組件集,Facelets 還允許定義站點模板(和更小的模板)。這與使用 Tiles 很相似,但是少了定義文件。也可以在定制 JSF 組件內部使用 Facelets,因為 Facelets API 提供了可以容易地與 JSF 組件集成的接口。

從 Tiles 到 Facelets

如前所述,在這里使用的示例 Web 應用程序基于為我的 針對懷疑者的 JSF 系列創建的示例。它為一家在線 CD 店管理庫存,創建、讀取、更新和刪除(CRUD)清單。它包含一個表單,讓用戶向系統輸入新 CD,有一個單選按鈕列表,允許用戶選擇音樂分類。當用戶選擇了一個分類時,就觸發某些 javascript 立即把表單提交回服務器。應用程序還包含一個 CD 清單,用戶可以根據標題或藝術家對清單中的 CD 排序。

【編輯推薦】

  1. JSF與Spring的集成
  2. 學習JSF的生命周期
  3. 在JBOSS服務器上使用Myfaces的JSF實現
  4. 選擇JSF的理由:從UI組件開始
  5. JSF中f:loadBundle標簽的使用方法
責任編輯:佚名 來源: CSDN
相關推薦

2009-06-24 13:06:41

JSF組件Facelets

2009-06-24 16:42:17

JSF和Facelet

2009-06-26 17:36:10

FaceletsJSF

2009-06-22 13:27:01

JSF組件模型

2009-06-25 11:21:36

JSF流行名詞

2009-06-24 14:59:00

圖形bean組件JSF圖形組件

2009-06-25 13:03:48

JSF的UI組件

2009-06-29 13:22:19

JSF技術JSF組件

2009-07-07 17:18:57

Facelets介紹JSP與Facelet

2009-06-24 17:05:10

2010-01-18 09:37:39

JSF 2.0Java EE 6

2009-06-24 16:30:21

JSF組件模型

2009-06-24 15:44:59

JSF的加減法Seam

2009-06-24 15:13:36

自定義JSF組件

2009-09-17 11:39:16

OSGi服務

2009-06-11 11:22:40

JSFJSPJSF的UI組件

2009-06-25 14:53:35

自定義UI組件JSF框架

2009-06-01 09:30:51

JSF2.0FaceletsAjax4JSF

2021-06-03 18:42:26

Redis集群故障

2009-07-06 17:57:22

JSF表格組件
點贊
收藏

51CTO技術棧公眾號

国产成人精品福利一区二区三区 | 2021国产精品久久精品| 精品少妇一区二区三区免费观看| 亚洲五码在线观看视频| 97av在线播放| 免费在线观看av电影| 777午夜精品电影免费看| 亚洲专区在线| 国模吧一区二区三区| 成人在线免费观看av| 四虎影视永久免费观看| 一区二区国产精品| 97avcom| 欧亚在线中文字幕免费| 久久99日本精品| www.中文字幕在线| 国产精品二三区| 亚洲男人天堂网| 922tv免费观看在线| 在这里有精品| 欧美一区二区精品| 人妻无码视频一区二区三区| 日韩欧美中文在线观看| 欧美亚一区二区| 欧美黄色免费网址| 日韩国产一区二区三区| 日韩在线视频网站| 性欧美xxx69hd高清| 狠狠色丁香久久婷婷综合_中| 亚洲第一天堂av| 久久99999| 久久夜色精品一区| 国产精品私拍pans大尺度在线| 国产欧美自拍视频| 成人高清网站| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品久久亚洲7777| 国产欧美日韩精品一区| 日韩影院精彩在线| 99免费在线观看视频| 成久久久网站| 国产福利视频一区二区| 牲欧美videos精品| 欧美精品videosex牲欧美| 免费欧美电影| 日韩av在线一区| 成人女同在线观看| 91麻豆精品91久久久久同性| 国产人成在线观看| 欧美色区777第一页| 国产在线色视频| 欧美午夜一区二区三区| 91pron在线| 我要色综合中文字幕| 亚洲乱码一区av黑人高潮| 四虎影院在线播放| 色综合久久综合网97色综合| 蜜桃臀av在线| 欧美亚洲国产一区二区三区va | 五月天国产一区| 日韩av在线发布| 中文字幕欧美视频在线| 啊啊啊国产视频| 91麻豆国产精品久久| 在线播放evaelfie极品| 国产成人精品久久久| 国产在线a不卡| 国产精品99视频| 成人区精品一区二区| 欧美喷水视频| 国产伦精品一区二区三区免 | 久热国产精品视频一区二区三区| 久久久人成影片一区二区三区在哪下载 | 88在线观看91蜜桃国自产| 18成人免费观看视频| 国产高清免费av在线| 亚洲欧美日韩网| 美女久久久精品| 黄视频网站在线观看| 丁香花在线影院观看在线播放| 伊人久久男人天堂| 欧美国产激情二区三区| 视频一区二区国产| 国产精品伊人日日| 成人美女视频在线看| 91精品久久久久久久蜜月| 55av亚洲| 亚洲自拍偷拍一区| 欧美猛男gaygay网站| 久久久久九九视频| 夜色资源站国产www在线视频 | 国产极品jizzhd欧美| 亚洲电影免费观看高清完整版在线观看| 亚洲成a人在线观看| 国产91欧美| 51色欧美片视频在线观看| 欧美日韩在线免费| 国产日韩欧美三级| 黄色网在线看| 国产精品自产拍高潮在线观看| 久久久久久夜精品精品免费| 美女在线视频一区| 亚洲精品韩国| 日本三级在线观看网站| 国产精品无码av无码| av在线免费观看国产| 精品亚洲国产成av人片传媒| 国产精品久久精品日日| 欧美特黄一区| 荡女精品导航| 91在线超碰| 日韩国产福利| 人操人视频在线观看| 亚洲欧美国产中文| 亚洲一区久久久| 亚洲欧洲一区二区三区在线观看| 亚洲欧美在线高清| 日本视频一区二区| 国产一区网站| 成年视频在线观看| 无码专区aaaaaa免费视频| 国产精品a久久久久久| 国产ts一区二区| 91a在线视频| 精品国产区一区二区三区在线观看| 成人av网站大全| 日韩在线成人| 黄视频在线观看免费| 在线观看免费视频高清游戏推荐| 成年在线观看视频| 97视频资源在线观看| 日韩情涩欧美日韩视频| 麻豆亚洲精品| 蜜臀av一区二区| 成人中文在线| 少女频道在线观看免费播放电视剧| 亚洲一区二区三区成人| 在线午夜视频| 亚洲一区久久久| 91麻豆精品国产自产在线观看一区| 欧美xxx在线观看| 欧美激情二区| 日韩中文在线字幕| 午夜精品福利电影| 在线不卡一区二区| 精品一区二区三区影院在线午夜 | 一区二区91| 国产原创一区| 午夜激情在线观看视频| 欧美日韩在线播放一区二区| 精品日产一区2区三区黄免费 | 国产亚洲一区二区三区| 日本国产精品| 国产美女一区| a亚洲天堂av| 久久超碰97中文字幕| 久久久久久免费网| 亚洲成av人综合在线观看| 久久亚洲欧美国产精品乐播 | 欧美视频免费看欧美视频| 国产视色精品亚洲一区二区| 欧美www在线| 日韩欧美成人精品| 久久一二三国产| 国产亚洲一区二区在线观看| 国产模特精品视频久久久久| 九九99久久精品在免费线bt| www.精品| 免费在线观看av电影| 免费不卡av| 欧美日韩国产传媒| 婷婷久久一区| 99久久这里只有精品| 精品不卡一区二区三区| 欧美视频13p| 一本精品一区二区三区| 国产有码在线| 国产91亚洲精品一区二区三区| 色综合久久久久网| 久久久国产亚洲精品| h片在线观看| 鲁一鲁一鲁一鲁一色| 欧美性色视频在线| 一区二区久久久久久| 中文字幕乱码久久午夜不卡| 成人av免费在线播放| 99精品偷自拍| 日本一区二区三区在线不卡| 久久蜜臀精品av| 国产精品盗摄一区二区三区| 国产成人精品午夜视频免费| 久久99国产精品久久99 | 久久久久97| av影院在线| 国产免费不卡| 韩日精品一区二区| av网站导航在线观看免费| 亚洲女人视频| 四虎4hu新地址入口2023| 国产91沈先生在线播放|