精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

手机看片国产1024| 91插插插插插插| 免费观看成人性生生活片 | 日本道精品一区二区三区| 亚洲国产精品一区在线观看不卡 | 日韩av最新在线观看| 国产成人精品无码播放| 欧美日本高清| 成人动漫在线一区| 国产精品视频自拍| 国产午夜精品无码| 日韩.com| 日韩一级视频免费观看在线| 日本www在线播放| 老司机在线看片网av| 成人av网在线| 国产欧美日韩精品在线观看| 免费中文字幕在线观看| 精品国产一区二区三区香蕉沈先生| 欧美一区二区三区在线观看视频| 茄子视频成人免费观看| 50度灰在线| 中文字幕精品在线不卡| 国产一区免费观看| 国产视频在线免费观看| 久久一区精品| 久久久欧美一区二区| 中文字幕黄色网址| 蜜乳av综合| 精品日韩欧美一区二区| 国产三级生活片| 毛片av在线播放| 波多野结衣家庭主妇| 亚洲网站在线| 精品国产一区二区三区四区在线观看 | 成人免费看片| 亚洲国产精品二十页| 久久久人人爽| 日韩中文字幕免费在线观看| 久久99久久精品| 国产精品免费观看在线| 无码视频一区二区三区| 亚洲一区不卡| 91精品国产91久久久久久久久| 91嫩草丨国产丨精品| 成人羞羞网站入口免费| 国产亚洲精品高潮| 国产精品无码一区二区三区免费 | 免费在线黄色片| 亚洲澳门在线| 美女扒开尿口让男人操亚洲视频网站| 色综合99久久久无码国产精品| 欧美a大片欧美片| 精品国免费一区二区三区| 成人免费播放视频| 日本免费精品| 欧美成人官网二区| jjzz黄色片| 国产suv精品一区| 欧美精品一区二区蜜臀亚洲| 亚洲图片欧美另类| 超碰地址久久| 亚洲精品美女网站| 久久久精品人妻无码专区| 亚洲国产合集| 在线成人一区二区| 操她视频在线观看| 亚洲综合色网| 久久久久女教师免费一区| 国产一级生活片| 日韩午夜av在线| 欧美一级淫片videoshd| 亚洲国产成人精品女人久久| 日本欧美一区二区在线观看| 国产精品久久久久久久9999| 国内av在线播放| 国内精品在线播放| 国产精品视频免费观看| 人操人视频在线观看| 久久精品欧美一区二区三区不卡 | 伊人久久亚洲影院| 欧亚精品在线观看| 国产精华7777777| 国产精品资源在线看| 国产a一区二区| 无码国精品一区二区免费蜜桃| 久久综合久色欧美综合狠狠| 亚洲精品一区二| 牛牛电影国产一区二区| 一本色道久久综合狠狠躁的推荐| 午夜久久久精品| 91蜜桃臀久久一区二区| 亚洲女成人图区| 亚洲天堂网av在线| a91a精品视频在线观看| 国产日韩欧美一二三区| 高潮毛片7777777毛片| 国产日韩欧美激情| 久操手机在线视频| 久久久成人av毛片免费观看| 在线不卡免费欧美| 亚洲国产精品自拍视频| 91麻豆精品国产91久久久平台| 欧美激情性做爰免费视频| 中文字幕在线天堂| 丁香天五香天堂综合| 亚洲精品二区| 美女av在线免费看| 91精品国产乱| 国产成人精品无码免费看夜聊软件| 亚洲欧美网站在线观看| 国产成人精品日本亚洲| www.色婷婷.com| 国产精品系列在线| 免费在线观看日韩视频| 视频一区国产| 色视频www在线播放国产成人| 久久久久久久久毛片| 日韩成人免费电影| 欧美精品尤物在线| 91丝袜在线| 日韩精品一区二区三区在线观看| 欧美性受xxxx黑人| 国产视频一区免费看| 成人看片视频| 精品孕妇一区二区三区| 在线观看国产91| 熟妇高潮精品一区二区三区| 欧美日本一区二区高清播放视频| 国产精品亚洲激情| 成人影院免费观看| 欧美午夜精品伦理| 水蜜桃av无码| 日韩午夜av| 狠狠色综合欧美激情| 毛片在线网址| 日韩欧美国产精品| 天天干中文字幕| 国产精品18久久久久久久久| 偷拍盗摄高潮叫床对白清晰| 久久久久久久性潮| 伊人久久精品视频| 久草热在线观看| 欧美国产日韩精品免费观看| 亚洲乱码国产一区三区| 国内精品久久久久久99蜜桃| 欧洲日本亚洲国产区| 亚洲av片一区二区三区| 五月天亚洲婷婷| 中文字幕免费在线播放| 一区二区亚洲| 国内精品二区| 345成人影院| 亚洲美女福利视频网站| 久久久久久久黄色片| 97久久久精品综合88久久| 欧美,日韩,国产在线| 欧美变态网站| 日本电影亚洲天堂| 国外av在线| 欧美美女一区二区| 欧美日韩中文字幕在线观看| 成人综合婷婷国产精品久久蜜臀| 丝袜人妻一区二区三区| 婷婷精品在线| 国产精品男人爽免费视频1| 国产污视频在线| 欧美日韩不卡在线| 欧美色图一区二区| 99免费精品在线| 青青草av网站| 国产精品不卡| 成人综合色站| 性感美女一区二区在线观看| 在线视频免费一区二区| 国产免费高清视频| 婷婷在线视频| 午夜天堂影视香蕉久久| 日本丰满少妇裸体自慰| 日韩福利视频网| 中文字幕中文字幕99| 91精品入口| 青青久久av北条麻妃黑人| 成人高清免费在线播放| 日韩精品一区二区三区四区视频 | 国产免费av高清在线| 欧美日韩精品一区二区三区蜜桃 | 一区二区自拍| 日韩精彩视频| www国产精品| 国产精品免费福利| 波多野结衣在线观看| 在线日韩精品视频| 亚洲AV无码精品色毛片浪潮| 日韩欧美亚洲成人| 精品一区在线观看视频| 91一区在线观看| 日韩av自拍偷拍| 美女精品在线观看| 国产又粗又长又爽视频| 国产毛片一区二区三区| 91入口在线观看| 韩国精品主播一区二区在线观看 | 日韩h在线观看| 夜夜躁狠狠躁日日躁av| 午夜精品一区二区三区电影天堂 | 天堂久久久久久| 国产一区二区三区精品欧美日韩一区二区三区| 男人添女人下部高潮视频在观看| 日韩理论电影院| 欧美日韩国产免费一区二区三区 | 人人草在线视频| 色综合影院在线| 青青免费在线视频| 精品国偷自产国产一区| 91精品国产乱码久久久| 午夜精品一区在线观看| 麻豆changesxxx国产| 国产精品情趣视频| 人人妻人人藻人人爽欧美一区| 国产成人av资源| 一本岛在线视频| 久久激情网站| 六月丁香婷婷激情| 国产精品99免费看| 黑人巨大国产9丨视频| 欧美系列电影免费观看| 久久精品ww人人做人人爽| 91在线一区| 91久久精品国产91久久性色tv| 国模私拍国内精品国内av| 国产成人精品日本亚洲| 欧美亚洲日本精品| 26uuu亚洲伊人春色| 第一av在线| 欧美精品制服第一页| 九色porny在线| www日韩中文字幕在线看| 午夜小视频在线| 中文字幕亚洲一区二区三区| 免费在线观看一级毛片| 精品亚洲精品福利线在观看| 可以免费观看的毛片| 精品久久国产老人久久综合| 成人久久久精品国产乱码一区二区 | 精品av导航| 3d精品h动漫啪啪一区二区| 青娱乐极品盛宴一区二区| 国产美女被下药99| 国产a亚洲精品| 成人免费视频网| 性欧美video另类hd尤物| 国产男人精品视频| 二区三区精品| 999久久久| 极品国产人妖chinesets亚洲人妖 激情亚洲另类图片区小说区 | 亚洲综合资源| 成人免费在线网址| 日本免费一区二区三区视频| 国产精品一区二区三区免费| 国产精品99久久免费观看| 精品亚洲欧美日韩| 国产欧美日韩一区二区三区四区| 欧美在线播放一区二区| 日韩系列欧美系列| 欧洲美女和动交zoz0z| 国产精品v欧美精品v日本精品动漫| 久久艹国产精品| 久久高清国产| 热久久久久久久久| 国产a级毛片一区| 国产精品伦子伦| 国产亚洲精品资源在线26u| 岛国片在线免费观看| 亚洲激情成人在线| 制服.丝袜.亚洲.中文.综合懂色| 色综合久久久久综合体| 在线免费观看一级片| 日韩精品一区二区三区中文不卡| 香蕉国产在线视频| 伊人av综合网| 日皮视频在线观看| 69久久夜色精品国产7777 | 欧美视频在线播放| 99视频免费看| 精品爽片免费看久久| 午夜在线视频播放| 97超级碰碰碰| 视频91a欧美| 精品免费一区二区三区蜜桃| 色777狠狠狠综合伊人| 99国产精品白浆在线观看免费| 亚洲综合99| 搡的我好爽在线观看免费视频| 97久久精品人人做人人爽| 成人无码精品1区2区3区免费看| 亚洲线精品一区二区三区八戒| 波多野结衣一二区| 欧美成人一区二区三区| 国产三级在线免费| 欧美激情精品久久久久久蜜臀| 亚洲www.| 国模精品娜娜一二三区| 日韩激情一区| 国产淫片免费看| 国产69精品久久久久毛片| 亚洲a v网站| 午夜精品久久一牛影视| 国产精品-色哟哟| 亚洲三级av在线| a级片在线免费| 91久久精品国产91久久| 国产欧美日韩| 男人添女人下面高潮视频| 国产麻豆91精品| 欧美巨胸大乳hitomi| 欧美日韩亚洲视频| 亚洲国产精品18久久久久久| 中文在线不卡视频| 在线免费日韩片| 狠狠色伊人亚洲综合网站色| 欧美精品aa| 精品国产乱码久久久久久1区二区| 国产三级一区二区| 五月婷婷色丁香| 亚洲第一区在线观看| 亚洲奶水xxxx哺乳期| 成人久久久久久久| 久久亚洲在线| 中文字幕av不卡在线| 久久久久久久久久久久久夜| 日韩无码精品一区二区三区| 欧美mv日韩mv亚洲| 亚洲妇熟xxxx妇色黄| 亚洲a∨日韩av高清在线观看| 日韩免费高清| 久久久精品高清| 国产精品第五页| 中文字幕一区二区久久人妻| 国产亚洲欧洲在线| 日韩av电影资源网| 日韩中文一区| 日本一不卡视频| 清纯唯美日韩制服另类| 888av在线视频| www.成人av.com| 国产一区视频在线观看免费| 久久久久久久久久久影视| 亚洲精品国产a久久久久久 | 手机在线免费看毛片| 在线播放中文一区| 成人短视频在线| 99九九电视剧免费观看| 很黄很黄激情成人| youjizz.com国产| 午夜精品久久久久久久久久久 | 激情av综合| 免费在线a视频| 久久人人爽人人爽| 亚洲永久精品一区| 日韩中文字幕精品视频| 四虎影视成人精品国库在线观看| 一本色道婷婷久久欧美| 极品少妇xxxx精品少妇偷拍| 成熟的女同志hd| 精品三级在线观看| 345成人影院| 中文字幕成人一区| 国产成人av自拍| 国产三级av片| 在线观看欧美日韩国产| 日韩欧国产精品一区综合无码| 亚洲av首页在线| 成人激情视频网站| 中文字幕av影院| 久久精品亚洲热| 国产区精品视频在线观看豆花| 丝袜老师办公室里做好紧好爽| 亚洲国产精品ⅴa在线观看| 国产av一区二区三区精品| 18一19gay欧美视频网站| 区一区二视频| 第一页在线视频| 色婷婷久久久亚洲一区二区三区| 免费不卡视频| 精品乱子伦一区二区三区| 美女精品一区二区| 豆国产97在线 | 亚洲| 亚洲一级一级97网| 视频精品国内| 午夜免费高清视频| 亚洲黄色片在线观看| 国产主播福利在线| 亚洲综合在线播放| 日韩和欧美一区二区三区| 免费在线一级片| 中文字幕亚洲欧美日韩高清| 9l视频自拍九色9l视频成人| 欧美精品一区二区三区免费播放| 亚洲欧美日韩一区二区|