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

    Feedback

    # re: AJAX and AJAH and MVC  回復  更多評論   

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

    沒排版感覺看的暈

    # re: AJAX and AJAH and MVC  回復  更多評論   

    2006-08-30 13:30 by Benny Bao
    感覺AJAX比較適合MIS類的應用,而AJAH比較適合開發以內容發布為主的系統。
    AJAX由于提倡數據和展現的分離,因此很適合MIS應用這一類界面元素有較多固定模式的場合。例如大多數的MIS應用的界面上都是由Grid、Form、Tree之類的元素構成的。況且數據和展現的分離后,更加有利于在前臺編寫一些數據校驗和運算這樣的邏輯。
    當然對于類似開發像論壇這樣的應用,如果一味追求數據和展現的分離也是不太合適的。這時用AJAH實現頁面的局部渲染應該是一種更好的選擇。
    所以我覺得開發具有RIA特征的WEB應用以AJAX為主、以AJAH為輔是一種比較好的方式。
    主站蜘蛛池模板: 亚洲人成影院在线观看| 亚洲国产91在线| 亚美影视免费在线观看| 国产一级一片免费播放| 亚洲日本va在线视频观看| 一二三四在线观看免费中文在线观看 | 国产精品亚洲片在线va| 国产92成人精品视频免费| 亚洲中文无韩国r级电影| 免费人人潮人人爽一区二区| 亚洲精品视频在线观看你懂的| 亚洲午夜精品一区二区麻豆| 免费看无码特级毛片| 亚洲av色影在线| jizz18免费视频| 亚洲午夜久久久影院| 久久综合国产乱子伦精品免费| 久久久久亚洲精品无码网址| 国产一精品一AV一免费| 亚洲成年人电影在线观看| 国产精品白浆在线观看免费| MM131亚洲国产美女久久| 精品国产免费一区二区三区香蕉| 亚洲精品国产成人99久久| 大地资源在线资源免费观看| 亚洲视频.com| 日韩成人在线免费视频| 久久久久久亚洲精品影院| 青青青国产在线观看免费| 亚洲国产精品成人综合色在线| 最近中文字幕mv免费高清电影 | 特级做a爰片毛片免费看| 亚洲成AV人片天堂网无码| 99精品视频在线观看免费| 国产gv天堂亚洲国产gv刚刚碰| 无码日韩精品一区二区三区免费| 亚洲日本中文字幕天天更新| 久久亚洲欧洲国产综合| 在线看片韩国免费人成视频| 亚洲va在线va天堂成人| 亚洲精品人成无码中文毛片|