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

淺談JSF的UI組件

開(kāi)發(fā) 后端
本文介紹JSF的UI組件是最具特色的組成部分。與桌面程序的UI組件不同的是,JSF的UI組件是服務(wù)器端的。

記得華為總裁任正非說(shuō)過(guò),華為是因?yàn)闊o(wú)知才走上通信產(chǎn)業(yè)之路的。我在2004年年中開(kāi)始接觸JSF時(shí),也是因?yàn)闊o(wú)知。幾乎沒(méi)有Java經(jīng)驗(yàn),Web更是一片空白,寫(xiě)了一個(gè)半吊子的JSP程序后,我居然判了JSP的死刑,鐵下心來(lái)鉆研我的JSF去了。無(wú)知者無(wú)畏,說(shuō)得一點(diǎn)也不錯(cuò)。

從JSP起步,第二級(jí)臺(tái)階,也許Struts是最合適的。沒(méi)有復(fù)雜的概念,沒(méi)有深?yuàn)W的理論,容易理解,上手快,從JSP向Struts的過(guò)渡顯得特別自然。這是Struts流行的原因之一。如果當(dāng)時(shí)請(qǐng)教過(guò)任何一個(gè)Java高手,我十有八九會(huì)以Struts作為我的JSP替代技術(shù),并且很有可能成為 Struts的發(fā)燒友。可是,機(jī)緣巧合,我選擇了JSF。

正應(yīng)了那句俗語(yǔ):“傻人有傻福。”采用JSF技術(shù)后,Web編程如有神助,一個(gè)月時(shí)間,我和一個(gè)剛畢業(yè)的程序員寫(xiě)出了一個(gè)規(guī)模不小的Web程序:126張數(shù)據(jù)庫(kù)表,346個(gè)JSP頁(yè)面,458K Java源程序,還包括84頁(yè)的《需求規(guī)格說(shuō)明書(shū)》和189頁(yè)的《數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)》。即便是桌面應(yīng)用,這樣規(guī)模的程序在一個(gè)月內(nèi)完成,老板也該偷著笑了。其實(shí),效率的提高,完全是JSF的功勞。正如Sun在JSF的規(guī)范中所宣稱的那樣,JSF極大地簡(jiǎn)化了Java的 Web編程。

首先,在JSF中,頁(yè)面干凈了許多。無(wú)需聲明Javabean,也不用嵌入Scriptlet,沒(méi)有多余的符號(hào),只是一些擴(kuò)展標(biāo)簽而已,看上去規(guī)范而不失優(yōu)雅,讓人賞心悅目。程序員多半是***主義者,眼睛里容不得丑陋的代碼,我認(rèn)識(shí)的一些程序員,平時(shí)不修邊幅,可以整個(gè)冬天都穿同一件夾克,袖口磨得油光發(fā)亮,但他們的程序卻整潔得讓人嫉妒。

其次,JSP中趾高氣揚(yáng)的Request和Response對(duì)象淡出了JSF。在典型的JSF應(yīng)用中,程序員基本上沒(méi)有直接操作Request和 Response對(duì)象的必要,因?yàn)榭蚣茈[藏了對(duì)這兩個(gè)對(duì)象的處理細(xì)節(jié)。不論是從Request中解碼參數(shù),還是將數(shù)據(jù)編碼到Reponse中,都不需要程序員寫(xiě)任何代碼,JSF知道該怎么做。當(dāng)然,如果非要訪問(wèn)Request,JSF的隱含對(duì)象為程序員提供了可能。

JSF的UI組件是***特色的組成部分。與桌面程序的UI組件不同的是,JSF的UI組件是服務(wù)器端的,但是,在JSF框架的支撐下,這些服務(wù)器端的UI組件,在程序員看來(lái)和桌面程序的UI組件沒(méi)什么不同。我用的Jbuilder版本不支持JSF頁(yè)面設(shè)計(jì)的所見(jiàn)即所得,當(dāng)我拖動(dòng)一個(gè)UI組件到頁(yè)面上時(shí),Jbuilder為我生成的,是一段標(biāo)簽文本,跟隨著我的鼠標(biāo),放在指定的位置。一個(gè)服務(wù)端JSF的UI組件就是這樣誕生的,其在頁(yè)面上的表現(xiàn)形式也隨之確定。

沒(méi)有所見(jiàn)即所得當(dāng)然有點(diǎn)遺憾,但對(duì)我來(lái)說(shuō),這已經(jīng)足夠了,因?yàn)榘呀M件的Value和后臺(tái)Javabean的屬性進(jìn)行簡(jiǎn)單的綁定,我就得到了所有需要的程序行為。頁(yè)面顯示和后臺(tái)數(shù)據(jù)的同步、用戶輸入的轉(zhuǎn)換、數(shù)據(jù)的有效性驗(yàn)證、錯(cuò)誤信息的提示以及UI組件狀態(tài)的保存和恢復(fù),所有這一切不需要我寫(xiě)任何代碼,JSF已經(jīng)代勞了。

JSF的另一個(gè)特色是它的數(shù)據(jù)組件。我曾經(jīng)很長(zhǎng)時(shí)間使用PowerBuilder開(kāi)發(fā)程序,熟悉PowerBuilder的程序員都知道,PowerBuilder最引人注目的是它的所謂數(shù)據(jù)窗口。并不好看的界面,笨拙的IDE,PowerBuilder單單憑借一個(gè)數(shù)據(jù)窗口,就吸引了大批程序員。PowerBuilder與數(shù)據(jù)庫(kù)是天生的一對(duì),長(zhǎng)期使用PowerBuilder的結(jié)果,我養(yǎng)成了以數(shù)據(jù)庫(kù)為中心的設(shè)計(jì)習(xí)慣。

這個(gè)習(xí)慣一直保持到今天,幾乎成了我的嗜好,前面提到的126張表,就是***的例子,換成別的程序員,也許30張表就夠了。

所以,JSF的數(shù)據(jù)組件讓我一見(jiàn)鐘情。數(shù)據(jù)組件實(shí)際上包括兩個(gè)組件,一個(gè)是UIData,一個(gè)是UIColumn。JSF將數(shù)據(jù)表看成是由若干個(gè)列組成的一個(gè)表格,而行的數(shù)目取決于數(shù)據(jù)源中數(shù)據(jù)的條數(shù)。這與PowerBuilder的數(shù)據(jù)窗口殊途同歸。當(dāng)然,數(shù)據(jù)組件不是直接從數(shù)據(jù)庫(kù)中取得數(shù)據(jù)(實(shí)際上,設(shè)計(jì)模式也不允許程序員這樣做),而是通過(guò)一個(gè)Javabean以resultSet的形式傳遞給數(shù)據(jù)組件。在JSP中,這樣的程序邏輯夠我折騰一陣的了,而在JSF中,這和生成一個(gè)文本輸入框一樣容易。

JSF數(shù)據(jù)組件的用途并不限于顯示數(shù)據(jù)庫(kù)表的內(nèi)容,實(shí)際上,所有實(shí)現(xiàn)了List接口的對(duì)象都可以成為數(shù)據(jù)組件的數(shù)據(jù)源,這給Java的Web編程帶來(lái)了極大的便利。而且,如果你想直接編輯數(shù)據(jù)表中的數(shù)據(jù),JSF也可以做到,只需以可讀可寫(xiě)的方式,將UIColumn的value屬性和數(shù)據(jù)源中你想修改的屬性綁定在一起,用戶在網(wǎng)頁(yè)上所做的修改,就會(huì)自動(dòng)保存到數(shù)據(jù)源中。這樣的功能,在JSP中,程序員都要深吸一口氣才敢動(dòng)手的。我的***個(gè)JSF程序,之所以能在一個(gè)月的時(shí)間內(nèi)完成346個(gè)頁(yè)面,數(shù)據(jù)組件功不可沒(méi)。

【編輯推薦】

  1. JSF和Tapestry全面比較
  2. 開(kāi)發(fā)自定義JSF組件
  3. 簡(jiǎn)述學(xué)習(xí)JSF小記
  4. JSF圖形組件管理圖形bean組件
  5. Seam與JSF的加減法
責(zé)任編輯:佚名 來(lái)源: CSDN
相關(guān)推薦

2009-06-24 17:05:10

2009-06-11 11:22:40

JSFJSPJSF的UI組件

2009-06-25 14:53:35

自定義UI組件JSF框架

2009-06-29 13:22:19

JSF技術(shù)JSF組件

2009-06-25 14:26:33

JSFDojo小部件

2009-06-22 13:27:01

JSF組件模型

2009-06-24 13:06:41

JSF組件Facelets

2009-06-24 14:59:00

圖形bean組件JSF圖形組件

2009-06-22 13:41:58

FaceletsJSF組件

2009-06-24 16:30:21

JSF組件模型

2009-06-23 18:11:02

JSF的生命周期Ajax處理

2009-07-06 17:57:22

JSF表格組件

2009-06-24 15:13:36

自定義JSF組件

2009-06-25 11:11:25

控制JSF切入點(diǎn)

2010-06-09 09:15:58

JSF 2Ajax組件

2023-02-27 09:10:57

前端組件設(shè)計(jì)

2009-07-15 13:06:38

Swing組件

2011-06-28 17:21:50

QT UI designer

2021-08-31 14:56:51

鴻蒙HarmonyOS應(yīng)用

2009-09-23 17:56:45

JSF入門
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 亚洲一区视频在线 | 岛国一区| 欧美激情第一区 | 一级毛片大全免费播放 | 天天操天天干天天爽 | 国产精品永久免费 | 一级视频黄色 | 一区二区三区高清在线观看 | a在线免费观看 | 影音先锋中文字幕在线观看 | 欧美日韩大片 | 亚洲综合日韩精品欧美综合区 | 日韩欧美在线不卡 | 一级免费看片 | www九色| 国产中文字幕网 | 久久久91| 中文字幕在线免费观看 | 精品国产一区二区三区久久影院 | 羞羞在线观看视频 | 亚洲二区精品 | 久久久久成人精品 | 成人免费看片 | 欧美日韩第一页 | 免费久久精品 | 欧美精品91| 一级欧美一级日韩片免费观看 | 伊人天堂网 | 国产成人精品在线播放 | 99精品国产一区二区三区 | 国产99久久精品 | 午夜在线 | 羞视频在线观看 | 国产亚洲精品美女久久久久久久久久 | 国产一区二区影院 | 成年网站在线观看 | 韩国毛片一区二区三区 | 欧美日韩精品综合 | 97影院在线午夜 | 久久九精品 | 99re视频这里只有精品 |