溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何編寫JSF框架自定義UI組件

發(fā)布時(shí)間:2021-07-14 10:45:08 來(lái)源:億速云 閱讀:118 作者:chen 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“如何編寫JSF框架自定義UI組件”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何編寫JSF框架自定義UI組件”吧!

一、慎用自定義UI組件

雖然計(jì)算機(jī)軟件技術(shù)發(fā)展迅速,但在人機(jī)交互的方式卻保持相對(duì)穩(wěn)定。鼠標(biāo)和鍵盤自誕生之日起就沒(méi)有發(fā)生過(guò)什么實(shí)質(zhì)性變化,而我們?nèi)粘J褂密浖r(shí),也只是和諸如按鈕、菜單、輸入框以及下拉列表等有限的幾種UI組件打交道,任何一種新UI組件的產(chǎn)生,都意味著向幾十年來(lái)累積的習(xí)慣發(fā)起挑戰(zhàn)。

JSF框架缺省的UI組件通常能滿足你的需求,如果不能滿足,則有必要重新審視一下你的界面設(shè)計(jì),問(wèn)問(wèn)自己這幾個(gè)問(wèn)題:
1. 是否用缺省的UI組件就能實(shí)現(xiàn)所需的人機(jī)交互功能?
2. 如果單個(gè)UI組件不能,幾個(gè)UI組件組合在一起是否可以?
3. 有沒(méi)有替代的界面設(shè)計(jì)方案,可以避開使用自定義UI組件?

即使答案都是否定的,也不要急于下編寫自定義UI組件的決心。別忘了,除了Sun的參考實(shí)現(xiàn)附帶的UI組件外,還有很多UI組件包供你選擇:
1. 開發(fā)工具如NetBeans在安裝時(shí)一般都會(huì)自動(dòng)安裝額外的UI組件包;
2. 專業(yè)的第三方廠商會(huì)提供種類繁多功能強(qiáng)大的UI組件包,例如MyFaces。JSF規(guī)范稱這種專業(yè)廠商為的Component Writer,是JSF建議的5種職能劃分中的一種。
不論是開發(fā)工具附送的,還是第三方廠商提供的,這些組件包有專門的開發(fā)和維護(hù)團(tuán)隊(duì),經(jīng)過(guò)了充分的測(cè)試和實(shí)戰(zhàn)考驗(yàn),文檔詳盡,與開發(fā)工具集成,有的更有技術(shù)支持,總之四個(gè)字:方便可靠。

如果這些都不能令你滿意,你還是一意孤行要編寫自定義UI組件,那么,在開始動(dòng)手之前,先了解一下自定義UI組件的不足:
1. 需要額外的編碼,讓你的設(shè)計(jì)變得復(fù)雜
2. 需要花費(fèi)精力測(cè)試,而如果測(cè)試不足,則有可能含有Bug
3. 可能隱藏潛在的性能問(wèn)題
4. 如果你在一個(gè)團(tuán)隊(duì)中工作,你必須編寫足夠詳細(xì)的Java Doc,讓別人明白怎么用你的自定義UI組件
5. 如果你希望你的UI組件能夠集成到開發(fā)工具中,以便顯示在組件面板上,你必須面對(duì)工具相關(guān)的配置工作

二、編寫自定義UI組件的好處

當(dāng)然,嘗試編寫自定義UI組件也并非全無(wú)好處。對(duì)于JSF的初學(xué)者,這是深入了解JSF內(nèi)部細(xì)節(jié)的一種有效途徑。當(dāng)你成功編寫一個(gè)自定義UI組件并理解了每個(gè)代碼片段的含義后,你對(duì)JSF框架的理解肯定會(huì)向前邁進(jìn)一大步。畢竟,UI組件是JSF框架的核心。

另一個(gè)好處是你可以實(shí)現(xiàn)一些非標(biāo)準(zhǔn)的界面設(shè)計(jì),有時(shí)候這是必要的。例如,假設(shè)你是JS高手,你完全可以在自定義UI組件上用JS實(shí)現(xiàn)一些令人眩目的客戶端效果。

將若干個(gè)標(biāo)準(zhǔn)UI組件組合成一個(gè)有著某種特定功能的組件集合,是自定義UI組件的另一用處。典型的例子如文件上載組件,可由一個(gè)文本字段組件、一個(gè)“瀏覽 ”按鈕組件和一個(gè)“上傳”按鈕組件組成。這允許你一次鼠標(biāo)拖放就能將這些捆在一起的組件添加到頁(yè)面上,而不必逐個(gè)添加。更重要的是,你可以在自定義UI組件的內(nèi)部處理這些組件之間的相互協(xié)調(diào),而無(wú)需組件的使用者操心。例如,在文件上傳組件中,如果文本字段組件為空,則不允許點(diǎn)擊“上傳”按鈕。

到此,相信大家對(duì)“如何編寫JSF框架自定義UI組件”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI