精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JSF和AJAX企業級開發之路(二)

開發 后端
本文介紹JSF和AJAX企業級開發之路,以及為什么從設計的角度就要將JSF和AJAX整合在一起。

現在,更高級別的JSF和AJAX整合方式到來了。確切的說,這種更加容易使用的解決方案就是在使用JSF基礎上再加上AJAX擴展。我上面已經提到了,現在有很多的解決方案了,今天我要談論的是其中之一的Project Dynamic Faces。當你在使用這些解決方案時,通常是不需要去了解任何JavaScript知識的,因為它已經為你封裝好JavaScript的編程實現,你只需要正常使用JSF的API去編程,就能達到AJAX的效果。當然,你如果需要的話,Dynamic Faces也是允許你去手工編寫JavaScript的,(通過自己編寫的JavaScript)你可以實現更強大復雜的操作。據我所之Dynamic Faces是目前為止唯一一個可以正確處理JSF上下文敏感(context sensitive)的AJAX交互組件,原因是它充分利用了JSF1.2的優勢(注:雖然專家組們在討論JSF2.0規范,但現在實際使用的JSF最新版本是1.2)。現在我們來看一個demo,假設說你有一個數據列表,當你隨便碰到某個單元格時(注:類似于操作Excel.當我們在使用Excel的時候,光標所移動到的任何單元則都是可以隨便操作,并保存的),你想通過AJAX去處理你所指定的那個單元格時,所有的單元格的在頁面渲染完后狀態都是可隨時存儲的,便于隨時修改,此時顯示在頁面的data table(數據表格)就是dataset所持有的數據呈現給外部的一個窗口;當你在修改完data table的某行記錄或某行記錄中的某列后,想postback一下(注:postback指的是用戶返回到以前訪問過的一個頁面,與頁面對應的視圖已經存在,所以只需恢復它。在這種情況下,JSF 使用現有視圖的狀態信息重新構造它的狀態。)這時你需要將data table設置成自身,從而可以感知到改動的數據.JSF1.2已經添加了一些新特性來支持這樣的應用場合.這還得多虧我們的專家組成員Jacob Hookom,同時他也是Facelets的作者.(注:Facelets是用來建立JSF應用程序時的一個可供選擇的表現層技術)
  
我之所以為Dynamic Faces亮起紅燈(表示警告),是因為JSF1.2有這個特性,它才能實現這個功能,而且還不是很成熟。雖然它現在當已經加入到Sun Web Developer Pack中去了,不過仍然處于0.1版本,與其它你可能聽說過的AJAX解決方案相比,缺乏大量的測試。
  
下一級別的的JSF和AJAX整合方案就是直接使用帶AJAX的JSF組件。用這類組件,與使用普通的JSF組件沒有什么兩樣,實際上它們已經將AJAX所做的事都全部為你封裝好了。這些組件也許會通過phase listener,filter或者其它什么配置來處理AJAX請求,但不需要你親自去處理。現在已經有一些不錯的組件可以使用了,而且相當一部分還支持JSF1.1。這些組件中,有些是開源的,有些要付費的,總之這是一個相當大的市場,你可以登錄www.jsfcentral.com,這是由另一名專家組成員Kito Mann運作的,里面有很多非常優秀的組件,并且你還可以從中了解目前JSF組件的市場行情。
 
退一步說,如果在眾多JSF組件中,仍然沒有讓你感到滿意的話,你就得親自寫代碼了,要不然用DynaFacesr擴展也是可以的。
  
好了,到這里,當我在考慮JSF整合AJAX這部分的時候,一個大難題浮現在我腦中:是應該支持各種途徑去使用AJAX(比如說允許自己編寫客戶端代碼)呢,還是像通常的web應用程序那樣,只采用UI標簽方式呢?我的觀點是,不支持,沒有必要。關于這個點會在小組討論中談到。如果采用Dojo方式的話,你的大量ViewLogic(頁面邏輯)綁定在客戶端上,這樣做也許只是將服務器變得負擔輕一些;而使用GWT的話,你得將Java編譯成JavaScript代碼,但此時的JavaScript仍然運行在客戶端,然后使用一個類似于RMI的機制通過服務器端來來回回不停的調用。但以上這些只是考慮了客戶端這個方面!另一方面,你仍然可以使用基于服務端開發工具,去開發你的組件,然后markup(標記)在服務端上,這樣就可以通過服務端呈現給客戶端,這一類的解決方案的思想就是將UI組件的狀態保存在服務端.我也覺得無論從成熟度,相應工具的支持程度還是可維護性上來說,這樣做都有很大的優勢.按照我的話來說,將大量的UI組件邏輯保存在服務器上,你會發現更加易去維護.
 

因此,對于上述問題的一種解決辦法是,把JSF當作web應用程序開發的基礎,并且你只需要在此基礎上略施小計就可以得到AJAX支持.JSF的AJAX擴展就是這么實現的,我現在將一些熟悉的擴展列出來:Dynamic Faces,ICEfaces,AJAX for JSF(現在和JBoss搭上了伙,成為了RichFaces),BackBase還JackBe..總之,在www.jsfmatrix.net站點可以看到這些解決方案之間的比較.另一個不錯的解決辦法來自于JCP,我們會將現在上面列出的那些擴展中先進的思想提交給JSF專家組,并且我們正準做出更多的努力,但現在無法透露太多。(看來JCP的專家組們還是沒有改變辦事過于拖拉的毛病,因此估計官方的JSF和AJAX方案一時半會是出不來了。)
 

那么為什么從設計的角度就要將JSF和AJAX整合在一起呢?因為JSF天生有著Swing的特性,如果你喜歡采用基于組件的面向對象方式進行編程,你會發現JSF的設計就是為AJAX而準備的.一些JSF的特性使得AJAX變得更加友好并進一步擴展了JSF UI組件模型;一個建立在servlet之上,定義良好的請求處理生存周期(request processing life cycle)管理著WebRequest各種狀態(phase)下不同的生存周期,比起單純的request, response要豐富的多,甚至我感覺這一點在脫離JSF仍然十分有用.那就是我們打算讓JSF2.0應用程序以更加偏重于client-centric方式,來貫穿整個JSF生存周期,甚至到時候要不要JSF組件都說不定了,但驗證和類型轉換等這類東西還是需要的.
  
另一個特性就是靈活和可擴展的組件呈現模型(Rendering Model).Rendering的概念源于組件,你可以用render kits(套件)去豐富基于JavaScript的應用程序,與HTML4.01相比,它的內容更加豐富。各種各樣的render kits為你隱藏了復雜的底層細節,幫助你實現網站的多種版本。這里還有一個關于封裝的概念:JavaScript的封裝不應該交給頁面的編寫人員,應該交給組件開發人員,最終所有的JSF組件統一管理在一起,更加方便透明的保持客戶端與服務器之間的同步。

現在我們來看一些典型的AJAX問題與解答:

1.跨瀏覽器問題,通過封裝好的JavaScript框架已經很可做到這一點了

2.本地化和國際化問題,用JSF就可以搞定了,AJAX根本不需要參與

3.Shell remoting的機制就是專門用來管理腳本,它用一種安全的方式為你的組件提供存放在class path外面的JavaScript腳本.

4.如果你覺得你寫了太多的XMLHttpRequest來來回回與服務器進行交互的話,你可以使用Dynamic Faces的批處理事件(或找一個具備批處理事件的類似替換物),一次性將所有的事件發送完成.

5.使用XML作為(AJAX與服務器交互后的返回的)傳輸數據的話,要求對于某些HTML元素做一些額外的優化工作.比如說,  是HTML的一個實體,但它在XML中卻什么都不是.當XMLHttpRequest的responseXML包含 的話,Mozilla瀏覽器將無法正常解析XML,它會認為這是一個無效的實體,因此,我不知道你們是不是也覺得這算是Mozilla的一個Bug呢?此時你必要按照某種方式去定義那些東西,并且確保這類問題通過JSF和AJAX的方案來解決.

為現有的或即將立項的JSF應用程序插上AJAX翅膀,我個人覺得對于應用程序來說非常棒.我想我們應該可以做到讓一個已經完成的項目AJAX化(AJAXify),并且如果是新的項目的話,保證還能從中得到更多的好處.這一切還得再次得歸功Jacob Hookom天才的理念。我覺得他的Project Dynamic Faces為開發人員朝著AJAX方向前進了一小步.真的!!!就兩個JSP Tag和兩個JavaScript Function需要你掌握,但就是這小小的一步,你也已經可以從中得到很多AJAX特性了.
 
因此,這里有一個基本的概念.將JSF的生存周期通過AJAX暴露給瀏覽器,并且你想通過AJAX來操作整個View或其中的某個部分,從而達到更新一塊單獨的View區域或某個組件的目的,或者干脆越過AJAX來刷新整個頁面也能實現。有時候,你希望通過使用AJAX可以越過JSF的生存周期,來取得一些控制級別并且你還可以讓服務器(在不刷新頁面的情況下)來改變當前頁面的外觀或行為.通常這對于Swing或其它native UI Tookit開人員來說,很好理解:當前窗體的部分外觀或行為被更新過了,服務器當然只會去對那部分作一下修改,犯不著整個窗體都重新更新一遍。現在將這個觀念帶回到Web開發中來,頁面的部分內容或行為改變了,你重繪(repaint)一下不就得了。

【編輯推薦】

  1. JSF和Spring的集成
  2. JSF中使用自定義Navigation
  3. 簡單介紹JSF應用
  4. JSF動態生成固定表頭和行標的DataTable
  5. JSF和JSP是一對新的搭檔
責任編輯:佚名 來源: theserverside
相關推薦

2009-06-23 14:55:43

AJAX和JSF

2010-08-04 15:20:15

Flex企業級開發

2013-09-02 10:28:09

NoSQL

2011-12-06 14:02:27

企業級移動開發

2010-04-07 08:55:00

OSGiSpring

2009-03-30 09:42:28

OSGiJavaJCP

2012-05-15 15:21:29

企業級

2009-12-14 20:13:57

IBM

2012-06-21 09:51:42

虛擬化

2011-07-05 14:07:36

2024-03-11 09:50:09

模型開發

2013-08-01 00:00:00

開發企業級App出路

2017-03-21 10:22:09

移動開發

2013-12-08 21:16:21

BaaS企業級移動移動信息化

2013-11-01 09:25:19

大數據HadoopSpark

2015-08-21 09:06:53

SaaS

2009-06-23 10:17:09

Ajax事件和錯誤JSF2

2011-06-30 10:49:27

2009-06-25 14:05:08

Ajax JSF

2023-02-15 18:12:43

開發企業級CLI
點贊
收藏

51CTO技術棧公眾號

成人天堂资源www在线| 亚洲警察之高压线| 夜夜夜精品看看| 春色成人在线视频| 91在线视频在线观看| 成人羞羞在线观看网站| 91精品欧美福利在线观看| 97超碰国产精品| 国产高清视频在线| 国产综合色在线视频区| 亚州成人av在线| аⅴ天堂中文在线网| 日韩激情精品| 色婷婷久久久亚洲一区二区三区| 正在播放一区| 青青草免费在线| 国产乱码精品一品二品| 日本电影亚洲天堂| 久久国产免费观看| 成人毛片免费看| 欧美精品一区视频| 亚洲高清免费在线观看| 国产网站在线| 欧美激情一区在线| 日韩三级在线观看视频| 成人性生活av| 亚洲另类色综合网站| 欧美高清性xxxxhd| 亚洲免费一级片| 老司机精品视频导航| 91爱爱小视频k| 天天干中文字幕| 欧洲视频一区| 亚洲精品在线看| 中文字幕18页| 国产999精品在线观看| 色婷婷精品久久二区二区蜜臀av| 轻点好疼好大好爽视频| 嫩草香蕉在线91一二三区| 久久欧美一区二区| 精品国产一区二区三区日日嗨| 97超碰人人草| 美女任你摸久久| 91av免费观看91av精品在线| 久久成人国产精品入口| 亚洲成人日韩| 精品国产欧美成人夜夜嗨| 国产美女永久免费无遮挡 | 国产成人久久精品| 国产精品6666| 亚洲精品韩国| 欧美精品xxx| 久久国产精品二区| 欧美日韩影院| 欧美国产极速在线| 日韩女优一区二区| 欧美精品国产一区| 伦伦影院午夜日韩欧美限制| 国产jizz18女人高潮| 精品国内自产拍在线观看视频| 日韩精品福利网站| 亚洲狠狠婷婷综合久久久久图片| 久久综合另类图片小说| 亚洲国产精品大全| 97人妻精品一区二区三区免费| 综合久久成人| 精品国产亚洲在线| 国产激情第一页| 天天躁日日躁狠狠躁欧美巨大小说 | 国产又粗又爽又黄的视频| 亚洲乱亚洲乱妇| 中文字幕日韩欧美一区二区三区| 吴梦梦av在线| av免费在线观看网址| 亚洲综合男人的天堂| 国产69精品久久久久999小说| 91超碰在线免费| 精品国产福利视频| 免费观看成人网| 日韩亚洲国产免费| 日韩精品中文字幕一区二区三区| 无码任你躁久久久久久老妇| 蜜桃一区av| 亚洲香蕉在线观看| 91制片厂在线| 亚洲图片在线| 国产高清在线不卡| 国产免费叼嘿网站免费| 成人免费高清视频在线观看| 久久艳妇乳肉豪妇荡乳av| 成人欧美一区| 亚洲美女偷拍久久| 免费无遮挡无码永久视频| 日韩免费va| 91精品国产综合久久精品| 日本精品一二三| 久久成人高清| 欧美大码xxxx| 亚洲熟妇无码一区二区三区| 免费看一级大片| 日韩精品看片| 欧美激情va永久在线播放| 全部毛片永久免费看| 蜜桃久久久久久久| 国产66精品久久久久999小说| 欧美日韩在线中文字幕| 国产精品久久久久永久免费观看| 欧美国产综合在线| 国产精品亚洲d| 日韩精品一区二区三区老鸭窝| 醉酒壮男gay强迫野外xx| 色欧美自拍视频| 91精品国产精品| 国产又爽又黄免费软件| 99久久免费视频.com| 一区在线电影| 欧美福利在线播放| 欧美草草影院在线视频| 激情五月深爱五月| 9国产精品视频| 亚洲一区二区三区视频播放| 国产对白叫床清晰在线播放| 亚洲线精品一区二区三区| 色乱码一区二区三区在线| 色天天色综合| 久久久亚洲精选| 国产精品嫩草影院桃色| 久久久www免费人成精品| 欧美做暖暖视频| 欧美美女被草| 亚洲三级av在线| 久久久国产高清| 国产91精品一区二区麻豆网站 | 先锋av资源站| 一区二区三区蜜桃| 五月天中文字幕在线| 国产91精品对白在线播放| 久久久午夜视频| 精品毛片一区二区三区| 国产精品久久久久影院亚瑟| 免费大片在线观看| 亚洲精品中文字幕99999| 午夜精品一区二区三区在线| 性生交生活影碟片| 亚洲视频免费观看| 九一精品久久久| 日韩毛片视频| 国产精品自产拍高潮在线观看| 你懂的在线播放| 好吊成人免视频| 最新在线黄色网址| 99精品视频网| 久久国产欧美精品| 精品众筹模特私拍视频| 日韩精品最新网址| 久久久久免费看| 国产白丝精品91爽爽久久| 国产欧美123| 97久久综合区小说区图片区| 欧美人在线观看| www.综合色| 亚洲国产精品天堂| 男男做爰猛烈叫床爽爽小说| 国产日韩视频| 欧美大香线蕉线伊人久久国产精品| 亚洲精品一区| 在线成人一区二区| 91国内精品久久久| 一区二区在线看| caopor在线| 99精品视频免费全部在线| 免费看成人av| 成人黄色视屏网站| 超碰精品一区二区三区乱码| 亚洲精品国产片| 亚洲不卡一区二区三区| 欧美一区二区三区成人精品| 日本少妇一区二区| 国产精品久久成人免费观看| 精品国产影院| 国产精品www网站| 国产传媒在线播放| 亚洲成人在线网| 黄瓜视频在线免费观看| 国产精品久久久久久久久快鸭 | 波多野结衣精品在线| 日本精品久久中文字幕佐佐木| 韩国av免费在线观看| 欧美性xxxxxx| 国产wwwwxxxx| 成人中文字幕在线| 国产成人精品无码播放| 日韩欧美二区| 国产精品国产精品国产专区不卡| 性xxxxfreexxxxx欧美丶| 在线看日韩欧美| 午夜精品久久久久久久爽| 欧美日韩一区二区免费在线观看| 亚洲av熟女国产一区二区性色| 国产一区二区不卡在线| 免费无码国产v片在线观看| 久久久综合色| 久久99精品国产一区二区三区| 国产精品麻豆成人av电影艾秋| 色综合色综合久久综合频道88| 蜜桃视频在线观看视频| 欧美一区二区三区免费视频| 亚洲天堂一区在线| 亚洲欧洲国产日本综合| 精品人妻一区二区三区日产乱码卜| 日本vs亚洲vs韩国一区三区二区| 777久久精品一区二区三区无码| 国产成人影院| 成人av电影免费| 国产91在线播放精品| 久久噜噜噜精品国产亚洲综合| 色综合久久影院| 精品视频久久久久久| 精品久久久久中文慕人妻 | 伊人网视频在线| 亚洲国产一区二区视频| 911国产在线| 久久久91精品国产一区二区精品 | 成人av在线播放| 日av在线播放中文不卡| 影院在线观看全集免费观看| 永久免费精品影视网站| 青青草娱乐在线| 亚洲成人av在线| 99国产精品一区二区三区| 欧洲视频一区二区| 日韩精品在线免费视频| 亚洲一区二区四区蜜桃| 91嫩草|国产丨精品入口| 欧美国产日韩亚洲一区| 中文字幕日韩三级片| 成人高清视频在线| 可以看的av网址| 韩国视频一区二区| 中文字幕精品一区二区三区在线| 日韩经典一区二区| 日韩一级免费在线观看| 爽好多水快深点欧美视频| 波多野结衣乳巨码无在线| 伊人成年综合电影网| 美女av免费观看| 欧美精品成人| 成人短视频在线观看免费| 欧美日本一区二区视频在线观看 | 国产精品久久久久9999高清| 久久人人爽人人爽人人av| 欧美黄色精品| 51xx午夜影福利| 你懂的国产精品永久在线| 黄瓜视频免费观看在线观看www| 久久综合国产| 自拍亚洲欧美老师丝袜| 91精品久久久久久久蜜月| 丰满女人性猛交| 欧美a级一区| 久久99久久99精品| 亚洲精品字幕| 国产性xxxx18免费观看视频| 久久精品一区二区三区中文字幕 | 香蕉久久免费电影| 国产精品h在线观看| yiren22亚洲综合| 91久久中文字幕| xvideos.蜜桃一区二区| 韩国成人动漫在线观看| 亚州国产精品| 亚洲精品一区二| 亚洲h色精品| 欧美国产综合在线| 性久久久久久| 国产精品嫩草影院8vv8| 国产盗摄一区二区三区| 美女扒开腿免费视频| 91麻豆产精品久久久久久| 谁有免费的黄色网址| 国产精品国产三级国产aⅴ原创 | 性欧美69xoxoxoxo| 美女av免费观看| 亚洲欧美日本日韩| 性欧美videossex精品| 国产老肥熟一区二区三区| 波多野结衣在线免费观看| 成人av第一页| 久久视频一区二区三区| 一区二区日韩av| 天堂中文在线网| 欧美精品高清视频| 少妇高潮一区二区三区69| 中文精品99久久国产香蕉| 成人免费看片| 日本精品性网站在线观看| 91麻豆精品国产综合久久久| 精品一区在线播放| 999精品视频| 精品久久一二三| 久久99久久精品| 久久久久国产精品区片区无码| 日本一区二区动态图| 国产无遮挡免费视频| 在线观看区一区二| 少妇av在线播放| 日韩中文字幕视频| 中文字幕在线高清| 97伦理在线四区| 国产亚洲精品美女久久久久久久久久| 韩国黄色一级大片| 日韩和欧美的一区| 漂亮人妻被黑人久久精品| 中文字幕永久在线不卡| 欧美a∨亚洲欧美亚洲| 欧美一区二区三区白人| 成人在线高清视频| 欧美一级高清免费| 亚洲综合影院| 中文字幕一区二区三区四区五区| 国产午夜精品一区二区三区欧美| 国产高清999| 中文字幕精品在线不卡| 亚洲欧美一区二区三区在线观看| 欧美成人免费网站| 免费人成在线观看播放视频| 日韩美女激情视频| 亚洲资源网站| 久久国产亚洲精品无码| 成人美女在线视频| 在线免费日韩av| 欧美剧情片在线观看| yes4444视频在线观看| 国产91成人在在线播放| 成人在线超碰| 91.com在线| 国产成人综合网| 国产老头老太做爰视频| 欧美日韩精品欧美日韩精品一| 国外av在线| 国产成人a亚洲精品| 亚洲国产合集| 波多野结衣家庭教师视频| 成人动漫一区二区| 久久黄色免费视频| 精品日韩在线观看| 福利在线导航136| 粉嫩av免费一区二区三区| 午夜精品影院| 中文字幕在线观看91| 一区二区成人在线视频| 亚洲av无码国产精品永久一区| 欧美大胆a视频| 综合伊人久久| 久久视频这里有精品| 99久久精品免费看| 日本天堂在线视频| 亚洲欧美成人在线| 免费观看成人性生生活片| 奇米精品在线| 免费一级欧美片在线观看| 中文字幕第69页| 欧美日韩成人在线| 污视频网站免费在线观看| 国产v亚洲v天堂无码| 激情视频一区二区三区| 免费成人蒂法网站| 色琪琪一区二区三区亚洲区| 久久视频www| 国产美女高潮久久白浆| 一区二区三区四区电影| 免费在线观看日韩av| 无码av免费一区二区三区试看| 日韩美女一级视频| 国产精品av电影| 在线成人超碰| 水蜜桃av无码| 欧美性色综合网| 成人国产免费电影| 国内精品国语自产拍在线观看| 裸体一区二区| 九九热视频在线免费观看| 欧美精品一区二区在线播放| 欧美日韩大片| 精品国产一区二区三区在线| 99国产精品久| 91国产免费视频| 69视频在线播放| 忘忧草精品久久久久久久高清| 亚洲精品久久一区二区三区777| 欧美日韩一区二区三区| 亚洲图片88| 精品综合久久久| 国内成人免费视频| 看片网址国产福利av中文字幕| 一区二区在线视频播放| jazzjazz国产精品久久| 免费看污黄网站| 亚洲国产精品久久人人爱蜜臀| 国产大片在线免费观看|