<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 176, comments - 240, trackbacks - 0, articles - 7

    AJAX and AJAH and MVC

    Posted on 2006-05-09 22:56 canonical 閱讀(1638) 評論(2)  編輯  收藏 所屬分類: 軟件開發(fā)
    ? 傳統(tǒng)的Mode2模式的服務(wù)器端框架在處理AJAX應(yīng)用的時(shí)候存在一定的不適應(yīng)性,這主要的原因在于Model2基于推模式,它隱含的假設(shè)是基于action的處理結(jié)果生成整個(gè)頁面,而AJAX應(yīng)用中所強(qiáng)調(diào)的是頁面局部的變化,只更新發(fā)生變化的部分,而不是重新生成整個(gè)頁面(change instead of create), 這兩者之間存在著內(nèi)在的不協(xié)調(diào)。有些人推崇后臺服務(wù)程序只返回xml數(shù)據(jù)的方法,將顯示層完全推到前臺。雖然在前臺通過js腳本操縱DOM節(jié)點(diǎn)可以實(shí)現(xiàn)非常細(xì)粒度上的控制,但是我們并不總是需要最細(xì)粒度上的控制權(quán)的。例如現(xiàn)在我們在前臺實(shí)現(xiàn)一個(gè)grid控件, grid控件本身只需要控制到單元格層次即可,而不需要對于單元格里存放什么內(nèi)容有預(yù)先的假設(shè). grid.getCell(i,j).innerHTML = cellHtml是非常自然的一種解決方式。完全通過dom來構(gòu)造界面面臨著眾多問題,除了瀏覽器bug這種揮之不去的噩夢之外,在實(shí)現(xiàn)過程中我們往往會引入對界面元素的大量限制條件,而無法做到集成各種來源的控件。
    ? 在服務(wù)器端生成頁面片斷的方式也稱為AJAH,表面上看起來它比AJAX要簡易一些,是很多服務(wù)器端框架引入AJAX概念的鄉(xiāng)間小徑。但有趣的是在基于拉模式(pull mode)的服務(wù)器端MVC框架中,AJAH是在架構(gòu)上比AJAX更加靈活的一種方式。在witrix平臺的jsplet框架中,web訪問的基本形式如下:
    ?? /view.jsp?objectName=XXObject&objectEvent=XXEvent&otherArgs&tplPart=XXPart
    其中objectName對應(yīng)于后臺的服務(wù)對象,objectEvent參數(shù)映射到服務(wù)對象的方法,view.jsp是對于后臺對象進(jìn)行渲染的模板頁面,而tplPart參數(shù)可以指定只使用模板的某一部分進(jìn)行渲染。如果我們選擇json.jsp或者burlap.jsp作為渲染模板,則可以退化到返回?cái)?shù)據(jù)而不是內(nèi)容的方式。在js中進(jìn)行簡單的封裝后我們可以通過如下方式進(jìn)行遠(yuǎn)程調(diào)用:
    ? new js.Ajax().setObjectName("XXObject").setObjectEvent("XXEvent").addForm("XXFormId").callRemote(callbackFunc);
    ?? 它對應(yīng)的url請求為
    ?? /json.jsp?objectName=XXObject&objectEvent=XXEvent&...
    對于同樣的后臺業(yè)務(wù)處理,我們可以自由的選擇渲染模板,則可以很自然的得到更多的處理方式,例如返回javascript代碼來實(shí)現(xiàn)對于前臺的回調(diào)。

    Feedback

    # re: AJAX and AJAH and MVC  回復(fù)  更多評論   

    2006-05-10 23:36 by 原創(chuàng)專欄 開源學(xué)習(xí)
    我覺得關(guān)鍵是你的系統(tǒng)有多少功能或界面需要用ajax技術(shù)。如果少的話,可能你提供的思路可以。但如果是以ajax為核心的程序,考慮用些成熟的ajax 框架,避免自己再開發(fā)一套框架。

    沒排版感覺看的暈

    # re: AJAX and AJAH and MVC  回復(fù)  更多評論   

    2006-08-30 13:30 by Benny Bao
    感覺AJAX比較適合MIS類的應(yīng)用,而AJAH比較適合開發(fā)以內(nèi)容發(fā)布為主的系統(tǒng)。
    AJAX由于提倡數(shù)據(jù)和展現(xiàn)的分離,因此很適合MIS應(yīng)用這一類界面元素有較多固定模式的場合。例如大多數(shù)的MIS應(yīng)用的界面上都是由Grid、Form、Tree之類的元素構(gòu)成的。況且數(shù)據(jù)和展現(xiàn)的分離后,更加有利于在前臺編寫一些數(shù)據(jù)校驗(yàn)和運(yùn)算這樣的邏輯。
    當(dāng)然對于類似開發(fā)像論壇這樣的應(yīng)用,如果一味追求數(shù)據(jù)和展現(xiàn)的分離也是不太合適的。這時(shí)用AJAH實(shí)現(xiàn)頁面的局部渲染應(yīng)該是一種更好的選擇。
    所以我覺得開發(fā)具有RIA特征的WEB應(yīng)用以AJAX為主、以AJAH為輔是一種比較好的方式。
    主站蜘蛛池模板: 成人特级毛片69免费观看| 亚洲国产精品激情在线观看| 国产V亚洲V天堂无码久久久| 极品美女一级毛片免费| 国产片免费福利片永久| 亚洲AV无码专区在线观看成人 | 亚洲高清一区二区三区| 青青视频观看免费99| 亚洲一区免费在线观看| 国产免费不卡v片在线观看| 亚洲一本一道一区二区三区| 我要看免费的毛片| 久久久久久免费一区二区三区| 国产av无码专区亚洲av果冻传媒 | 精品国产麻豆免费人成网站| 亚洲精品自在在线观看| 男人都懂www深夜免费网站| 91久久亚洲国产成人精品性色| 亚洲免费观看在线视频| 亚洲五月综合网色九月色| 18禁无遮挡无码网站免费| 特级aa**毛片免费观看| 亚洲精品成人片在线播放| 在线人成精品免费视频| 亚洲中文字幕一区精品自拍| 免费在线视频一区| 亚洲高清免费在线观看| 黄页免费的网站勿入免费直接进入| 亚洲精品天堂无码中文字幕| 亚洲精品第一国产综合境外资源| 国产又黄又爽胸又大免费视频| 亚洲视频在线不卡| 日韩在线视频免费看| 中文字幕av无码不卡免费| 亚洲国产精品成人综合色在线婷婷 | 亚洲小说区图片区| 四只虎免费永久观看| 很黄很污的网站免费| 亚洲色成人网站WWW永久四虎| 亚洲人成网站色在线入口| 青青草原1769久久免费播放|