NetBeans中JSF的可視化開發(fā)
NetBeans在Java可視化開發(fā)方面具備的功能,有了這些功能作為基礎(chǔ),NetBeans中JSF的可視化開發(fā),可以說是水到渠成了。完成這一使命的,就是NetBeans***價(jià)值的Visual Web Pack工具包。如同其他工具包一樣,這個(gè)工具包也是免費(fèi)的,不過,免費(fèi)的Visual Web Pack工具包已經(jīng)在很多方面超越了大多數(shù)商業(yè)開發(fā)工具,尤其是在JSF應(yīng)用的開發(fā)上。
Visual Web Pack工具包給NetBeans提供了功能強(qiáng)大的開發(fā)工具,在這些工具的支持下,Web應(yīng)用的開發(fā)速度得到極大的提高??梢暬荲isual Web Pack工具包的核心目標(biāo),因此,Visual Web Pack工具包中含有多個(gè)可視化編輯器,可以利用諸如AJAX、CCS和JSF等技術(shù),快速構(gòu)建標(biāo)準(zhǔn)的Web應(yīng)用。
談到可視化開發(fā),首先想到的肯定是Web頁面的開發(fā)。用JSP技術(shù)開發(fā)Web頁面是一個(gè)痛苦的過程,早期的JSP在頁面上夾雜了太多的 coding元素,使得JSP頁面的開發(fā)和維護(hù)成為程序員的惡夢(mèng),雖然現(xiàn)行的JSP版本有了一些改進(jìn),但仍然存在諸多不足。JSF是Sun簡化Web開發(fā)的一種嘗試,在Visual Web Pack工具包支持下,這種嘗試取得了極大的成功。創(chuàng)建一個(gè)頁面,從面板上拖放組件到頁面上,編輯組件的屬性,編寫事件處理例程,從Visual Web Pack開發(fā)Web頁面的步驟中,已經(jīng)看不到多少“Web”的東西了。當(dāng)然,Web應(yīng)用和桌面應(yīng)用有著本質(zhì)的不同,不過,Visual Web Pack已經(jīng)封裝了這二者之間的差異,感覺上,Web應(yīng)用和普通桌面應(yīng)用的開發(fā)過程完全一樣。
除了頁面上的UI組件外,Visual Web Pack甚至將可視化的概念擴(kuò)展到了其他JSF組件。例如,JSF的轉(zhuǎn)換器和驗(yàn)證器,它們?cè)静皇强梢暬M件,不過,在Visual Web Pack下,為一個(gè)可視化組件綁定轉(zhuǎn)換器和驗(yàn)證器的過程,如同為頁面添加UI組件一樣,也是簡單的drag-and-drop。這得益于JSF的高度模塊化設(shè)計(jì),任何編程元素都是component,都可以drag-and-drop。
可以drag-and-drop的還不止這些,復(fù)雜的數(shù)據(jù)庫編程,也已經(jīng)被Visual Web Pack可視化了。配置好數(shù)據(jù)庫后,從頁面訪問數(shù)據(jù)庫表中記錄的最簡單方法只有兩個(gè)步驟:***,在頁面上放置一個(gè)用來顯示數(shù)據(jù)的UI組件,例如下拉列表組件;第二,將一個(gè)表直接拖放到UI組件上。就這樣,無需任何代碼,運(yùn)行時(shí),這個(gè)下拉列表組件將顯示出表中***個(gè)非鍵列的所有記錄值。這在Web數(shù)據(jù)庫應(yīng)用中非常有用,例如,通過這樣的兩次drag-and-drop操作,你就可以在電子商務(wù)網(wǎng)站上顯示商品類別的清單,供用戶選擇。如果這樣過于簡單,不能滿足你的需求的話,那么,你也可以選擇更精確的方法,將表拖放到頁面上(而不是組件上),然后通過“綁定到數(shù)據(jù)提供器”,選擇你希望在列表中顯示出來的字段。這樣,你可以不單顯示商品類別的名稱,還可以同時(shí)顯示對(duì)商品類別的簡單描述等等。
頁面導(dǎo)航是Web應(yīng)用所特有的要求。與其他框架不同,JSF的頁面導(dǎo)航是集中式的,這是JSF的一個(gè)創(chuàng)舉。Web應(yīng)用是由頁面組成的,當(dāng)應(yīng)用的規(guī)模增大,頁面數(shù)量也隨之增加到一定程度時(shí),在頁面中導(dǎo)航,有點(diǎn)類似大海航行,容易讓人摸不著方向。分散式的導(dǎo)航控制在小規(guī)模應(yīng)用場(chǎng)合下,簡單易行,不過,大規(guī)模應(yīng)用更適合采用JSF集中式的導(dǎo)航控制。Visual Web Pack提供了一個(gè)可視化的頁面導(dǎo)航設(shè)計(jì)器,打開設(shè)計(jì)器,Visual Web Pack自動(dòng)將應(yīng)用的所有頁面顯示為一個(gè)個(gè)小圖標(biāo),而所謂的導(dǎo)航,只是從一個(gè)頁面拖動(dòng)一條連線到另一個(gè)頁面,僅此而已,形象而又直觀。一條連線稱為一個(gè)出口,給出口命名后,在代碼中就可以通過選擇出口來導(dǎo)航到指定的頁面。
【編輯推薦】